小编Pra*_*eep的帖子

错误 - 与当前连接关联的事务已完成但尚未处理

我一直在使用TransactionScope将多个数据库查询包装到事务中时遇到问题,我正在使用带有batchsize 500的SqlBulkCopy.当我将批量大小增加到1000时,我收到错误:

与当前连接关联的事务已完成但尚未处理.必须先处理事务,然后才能使用连接执行SQL语句.

这是我正在使用的代码:

using (var scope = new TransactionScope())
{
    using (var connection = (SqlConnection)customerTable.OpenConnection())
    {
        var table1BulkCopy = new SqlBulkCopy(connection)
        {
            BatchSize = BATCH_SIZE,
            DestinationTableName = TableName1
        };

        table1BulkCopy.WriteToServer(table1DataTable);

        var table2BulkCopy = new SqlBulkCopy(connection)
        {
            BatchSize = BATCH_SIZE,
            DestinationTableName = TableName2
        };

        table2BulkCopy.WriteToServer(table2DataTable);

        var table3BulkCopy = new SqlBulkCopy(connection)
        {
            BatchSize = BATCH_SIZE,
            DestinationTableName = TableName3
        };

        table1BulkCopy.WriteToServer(table3DataTable);

        var table4BulkCopy = new SqlBulkCopy(connection)
        {
            BatchSize = BATCH_SIZE,
            DestinationTableName = TableName4
        };

        table4BulkCopy.WriteToServer(table4DataTable);

        scope.Complete();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server-2008 c#-4.0

64
推荐指数
3
解决办法
6万
查看次数

使用C#从字符串中提取最后一个单词

我的字符串是这样的:

string input = "STRIP, HR 3/16 X 1 1/2 X 1 5/8 + API";
Run Code Online (Sandbox Code Playgroud)

实际上我想提取最后一个词'API'并返回.

进行上述提取的C#代码是什么?

.net c# string

29
推荐指数
3
解决办法
5万
查看次数

错误'已经有一个与此命令关联的打开的datareader,必须先关闭'

运行时错误'已经有一个与此命令关联的打开的datareader,必须先关闭'

objCommand = new SqlCommand("SELECT field1, field2 FROM sourcetable", objConn);

objDataReader = objCommand.ExecuteReader();

while (objDataReader.Read())
{
objInsertCommand = new SqlCommand("INSERT INTO tablename (field1, field2) VALUES (3, '" + objDataReader[0] + "')", objConn);
objInsertCommand.ExecuteNonQuery();//Here is the error
}
objDataReader.Close();
Run Code Online (Sandbox Code Playgroud)

我不能在这里定义任何存储过程.任何帮助我们都会感激.

c# ado.net

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

SQL服务器 - 如何在表中查找十六进制字符

如何从SQL Server表中搜索十六进制字符?实际上我尝试过如下,但它正在搜索现场的所有零.

select Email,* 
from address 
where CHARINDEX(convert(varchar, Ascii(0x00)), Email) > 0
Run Code Online (Sandbox Code Playgroud)

谢谢

sql sql-server sql-server-2008

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

无法访问请求的页面,因为页面的相关配置数据无效

当我尝试运行没有web.config文件的ASP.NET应用程序时,我收到此错误.

无法访问请求的页面,因为页面的相关配置数据无效

在我看来,我们可以在没有web配置文件的情况下运行.NET应用程序,但是当我尝试它时,它给了我错误.我在Windows 7机器上使用iis 7.

当我在inetpub/wwwroot中创建应用程序虚拟目录时,它工作正常.为什么没有其他目录位置?

asp.net iis-7

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

更改XML根元素名称

我有XML存储在字符串变量中:

<ItemMasterList><ItemMaster><fpartno>xxx</fpartno><frev>000</frev><fac>Default</fac></ItemMaster></ItemMasterList>
Run Code Online (Sandbox Code Playgroud)

在这里,我想将XML标记更改<ItemMasterList><Masterlist>.我怎样才能做到这一点?

c#

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

在C#中如何使用ExecuteNonQuery从存储过程中获取返回值

我有以下查询:

create proc [dbo].[DeleteParts] 
    @TransNo nvarchar (6), @fpart nvarchar(25) 
AS 
    DECLARE @Returns BIT 
    SET @Returns = 1 

    BEGIN 
       TRY  
          BEGIN TRANSACTION 

          DELETE FROM PARTABLE 
          WHERE TransNo = @TransNo and fpart = @fpart

          COMMIT 
       END TRY 
       BEGIN CATCH   
           Print 'Delete failed'    
           SET @Returns = 0      
           -- Any Error Occurred during Transaction. Rollback     
           IF @@TRANCOUNT > 0       
               ROLLBACK  -- Roll back 
       END CATCH

       RETURN @Returns
Run Code Online (Sandbox Code Playgroud)

这个编译完全没问题.

在C#中,我想执行此查询并获取返回值.

我的代码如下:

using(System.Data.SqlClient.SqlCommand deletecommand = this._connection.CreateCommand())
{
   deletecommand.CommandText = "DeleteParts";
   deletecommand.CommandType = System.Data.CommandType.StoredProcedure;
   deletecommand.Parameters.AddWithValue("@TransNo", ItemSODBOM.SONO);
   deletecommand.Parameters.AddWithValue("@fpart", …
Run Code Online (Sandbox Code Playgroud)

c# ado.net

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

修饰符public对此项无效

我收到了错误

修饰符public对此项无效

这是我的代码,请帮帮我.

    using System;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    public partial class First : System.Web.UI.Page,test 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = test1("Hi", 1).ToString();
        }

    }
    public class Base
    {
        public int test1(int x)
        {
            return x;
        }
        public string test1(string x)
        {
            return x;
        }
        public string test1(string x, int y)
        {
            return x + y;
        }
    }
    public interface …
Run Code Online (Sandbox Code Playgroud)

c#

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

C#中是否存在集中式错误处理流程

有没有办法集中错误处理或异常处理而不使用try catch方法?

c#

3
推荐指数
1
解决办法
1313
查看次数

c#中显式和隐式接口实现的区别是什么

c#/ asp.net中显式接口和隐式接口实现有什么区别?在哪种情况下我们可以使用显式接口和隐式接口实现.

谢谢,

普拉迪普

c# asp.net oop

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

标签 统计

c# ×8

.net ×2

ado.net ×2

asp.net ×2

sql-server-2008 ×2

c#-4.0 ×1

iis-7 ×1

oop ×1

sql ×1

sql-server ×1

string ×1