小编Ada*_*Dev的帖子

FileSystemObject - 读取Unicode文件

经典ASP,VBScript上下文.

包括这个Microsoft在内的很多文章都说你不能使用FileSystemObject来读取Unicode文件.

我曾经遇到过这个问题,所以转而使用ADODB.Stream ,而不是使用这里的ReadText示例,而不是使用FileSystemObject.OpenTextFile(它接受一个指示是否以unicode打开文件的最终参数,但实际上并不是工作).

但是,ADODB.Stream在尝试读取UNC文件共享上的文件(与权限相关的问题)时会导致痛苦.所以,调查这个,我偶然发现了以下方法:a)使用unicode文件,b)跨UNC文件共享:

dim fso, file, stream
set fso = Server.CreateObject("Scripting.FileSystemObject")
set file = fso.GetFile("\\SomeServer\Somefile.txt")
set stream = file.OpenAsTextStream(ForReading,-1) '-1 = unicode
Run Code Online (Sandbox Code Playgroud)

这是使用FSO读取unicode文件而没有任何明显的问题,所以我很困惑所有的引用,包括MS,说你不能使用FSO来读取unicode文件.

有没有其他人使用这种方法来读取unicode文件?我有什么隐藏的陷阱,或者你真的可以使用FSO读取unicode文件吗?

vbscript scripting asp-classic

11
推荐指数
2
解决办法
3万
查看次数

如果有文件路径,如何在SQL Server数据库中保存文件?

我正在构建一些C#桌面应用程序,我需要将文件保存到数据库中.我想出了一些文件选择器,它给了我正确的文件路径.现在我有问题如何使用它的路径将该文件保存到数据库中.

c# sql-server sql-server-2005

9
推荐指数
2
解决办法
3万
查看次数

SqlDataAdapter.Fill - 异步方法

使用C#/ .NET 3.5.

目前我正在使用SqlDataAdapter.Fill()依次填充2个DataTable.

我希望并行地填充这两个DataTable,同时异步执行每个DataTable.但是,没有Fill()方法的异步版本 - 即BeginFill()会很棒!

我尝试过的一种方法是(伪):

  1. SqlCommand1.BeginExecuteReader //第一个查询,用于DataTable1
  2. SqlCommand2.BeginExecuteReader //第二个查询,用于DataTable2
  3. SqlCommand1.EndExecuteReader
  4. SqlCommand2.EndExecuteReader
  5. DataTable1.Load(DataReader1)
  6. DataTable2.Load(DataReader2)

但是,DataTable.Load()需要很长时间:
执行步骤1到步骤4
需要3秒钟.然后步骤5需要22秒.
第6步需要17秒.
因此,步骤5和6合并39秒.

最终的结果是,这使我没有任何好处而只是一个接一个地做2个SqlDataAdapter.Fills.我希望最终结果是整个过程只需要最长的查询(或尽可能接近).

寻找推荐的方法,最终得到一些真正的异步方法来填充DataTable.

或者我自己管理它并滚动2个单独的线程,每个线程填充一个DataTable?

.net c# datatable asynchronous

8
推荐指数
1
解决办法
1万
查看次数

如何执行行锁?

我想锁定一条记录,然后没有人可以对该记录进行更改.当我释放锁定时,人们可能会更改记录.

在此期间锁定记录时,我想向用户显示记录已被锁定且不允许更改的警告.

我怎样才能做到这一点?

我已经尝试了所有的IsolationLevel级别,但它们都没有我想要的行为.某些隔离级别会等到锁定释放后再进行更改.我不希望这样,因为在锁定记录时不允许更新.

如何锁定记录并拒绝所有更改?

我使用SQL Server 2008

c# sql locking sql-server-2008

8
推荐指数
2
解决办法
1万
查看次数

SQL Server触发器切换插入,删除,更新

你好可以在Trigger Body上的DML命令/操作(插入,删除,更新)之间切换吗?我尝试将一些T-SQL片段化以便更好地理解我:

CREATE TRIGGER DML_ON_TABLEA
   ON  TABLEA
   AFTER INSERT,DELETE,UPDATE
AS 
BEGIN
    SET NOCOUNT ON;

    CASE 
    WHEN (INSERT) THEN
        -- INSERT ON AUX TABLEB 
    WHEN (DELETE) THEN
        -- DELETE ON AUX TABLEB 
    ELSE --OR WHEN (UPDATE) THEN
        -- UPDATE ON AUX TABLEB 
    END
END
GO
Run Code Online (Sandbox Code Playgroud)

谢谢,

sql-server triggers dml

7
推荐指数
3
解决办法
2万
查看次数

行锁 - 手动使用它们

我基本上有一个应用程序有5个线程,每个线程从表中读取.查询是表中的一个简单的SELECT TOP 1*,但我想强制执行锁定,以便下一个线程将从表中选择下一条记录而不是锁定的记录.当应用程序完成任务时,它将更新锁定的记录并释放锁定并再次重复该过程.这可能吗?

sql sql-server sql-server-2008

7
推荐指数
1
解决办法
3336
查看次数

在SQL Server中存储整数值数组

我想在SQL数据库表(SQLServer 2005)中存储一个整数值数组,如果可能的话,使用单个列.

整数数组的长度为7560.

我使用的是objectdatasource,数据类型应该与tableadapter生成的参数兼容.

谢谢你的帮助:)

c# sql objectdatasource sql-server-2005

7
推荐指数
2
解决办法
2万
查看次数

从存储过程中获取C#asp.net中的返回值(语法问题)

我在尝试为我的C#2008 asp.net代码获取正确的语法时遇到问题.我需要从我的存储过程中获取返回值(Select @@ Identity)

我的C#代码是:

        SqlConnection conn = new SqlConnection(strConn);
        string sql = "usp_ClientProfile_Header";
        SqlCommand cmdHeader = new SqlCommand(sql, conn);

        cmdHeader.CommandType = CommandType.StoredProcedure;

        cmdHeader.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.VarChar, 50));
        cmdHeader.Parameters["@FName"].Value = txtFName.Text.Trim();

        cmdHeader.Parameters.Add(new SqlParameter("@LastName", SqlDbType.VarChar, 50));
        cmdHeader.Parameters["@LName"].Value = txtLName.Text.Trim();

        cmdHeader.Parameters.Add(new SqlParameter("@EmailAddress", SqlDbType.VarChar, 100));
        cmdHeader.Parameters["@Email"].Value = txtEMail.Text.Trim();

        cmdHeader.Parameters.Add(new SqlParameter("@Address1", SqlDbType.VarChar, 255));
        cmdHeader.Parameters["@Address1"].Value = txtAddress1.Text.Trim();

        cmdHeader.Parameters.Add(new SqlParameter("@City", SqlDbType.VarChar, 50));
        cmdHeader.Parameters["@City"].Value = txtCity.Text.Trim();

        cmdHeader.Parameters.Add(new SqlParameter("@State", SqlDbType.VarChar, 50));
        cmdHeader.Parameters["@State"].Value = txtState.Text.Trim();

        cmdHeader.Parameters.Add(new SqlParameter("@ZipCode", SqlDbType.VarChar, 12));
        cmdHeader.Parameters["@Postal_Code"].Value = txtZip.Text.Trim();
Run Code Online (Sandbox Code Playgroud)

我的代码中的下一行需要是" ParameterDirection.ReturnValue ",但我似乎无法使语法正确.

有任何想法吗?

c# sql-server asp.net-3.5

6
推荐指数
1
解决办法
5万
查看次数

通过 C# 驱动程序在 MongoDB 集合上创建文本索引的最佳方法

将 C# 驱动程序 v1.9.0(撰写本文时最新)与 MongoDB 2.6.0 结合使用

当前通过 C# 驱动程序在集合上创建文本索引的最佳方法是什么?

据我所知,这是不可能的MongoCollection.CreateIndex?因此,目前使用 MongoDatabase.Eval 创建它,如下所示:

Database.Eval(new EvalArgs { Code = "function(){db.dummycollection.ensureIndex({\"$**\" : \"text\"},{name:\"TextIndex\"});}"

我错过了什么/有更好的方法吗?

mongodb mongodb-.net-driver

6
推荐指数
2
解决办法
4274
查看次数

Microsoft SQL Server电子邮件验证

使用Microsoft SQL Server 2005及更高版本,我使用什么代码来验证电子邮件地址是否正确?
有电子邮件数据类型吗?
是否有电子邮件检查约束?
有电子邮件规则吗?
是否有电子邮件触发器?
是否有电子邮件验证存储过程?

sql-server sql-server-2005

5
推荐指数
1
解决办法
3688
查看次数