代码是
using (SqlConnection cnn = new SqlConnection(DbConnectionString))
{
try
{
qty = Convert.ToInt32(dtcode.Compute("count(Quantity)", "Quantity=1")); using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{ if (cnn.State != ConnectionState.Open)
cnn.Open(); SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "usp_AddNewDuo";
cmd.Parameters.Add("@duocode", SqlDbType.BigInt).Value = duocode;
cmd.Parameters.Add("@Aufnr", SqlDbType.VarChar).Value = ordno;
cmd.Parameters.Add("@Quantity", SqlDbType.Int).Value = qty;
cmd.ExecuteNonQuery(); using (SqlBulkCopy bc = new SqlBulkCopy(cnn))
{
bc.DestinationTableName = dtcode.TableName;
bc.BatchSize = dtcode.Rows.Count;
foreach (DataColumn dc in dtcode.Columns)
{
SqlBulkCopyColumnMapping col = new SqlBulkCopyColumnMapping(dc.ColumnName, dc.ColumnName);
bc.ColumnMappings.Add(col);
}
bc.WriteToServer(dtcode);
}
ts.Complete();
}
return true;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
一个礼拜出现一次错误,错误日志是:事务不确定性,英文是The transaction is in doubt
using (SqlConnection cnn = new SqlConnection(DbConnectionString))
{
try
{
qty = Convert.ToInt32(dtcode.Compute("count(Quantity)", "Quantity=1")); using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{ if (cnn.State != ConnectionState.Open)
cnn.Open(); SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "usp_AddNewDuo";
cmd.Parameters.Add("@duocode", SqlDbType.BigInt).Value = duocode;
cmd.Parameters.Add("@Aufnr", SqlDbType.VarChar).Value = ordno;
cmd.Parameters.Add("@Quantity", SqlDbType.Int).Value = qty;
cmd.ExecuteNonQuery(); using (SqlBulkCopy bc = new SqlBulkCopy(cnn))
{
bc.DestinationTableName = dtcode.TableName;
bc.BatchSize = dtcode.Rows.Count;
foreach (DataColumn dc in dtcode.Columns)
{
SqlBulkCopyColumnMapping col = new SqlBulkCopyColumnMapping(dc.ColumnName, dc.ColumnName);
bc.ColumnMappings.Add(col);
}
bc.WriteToServer(dtcode);
}
ts.Complete();
}
return true;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
一个礼拜出现一次错误,错误日志是:事务不确定性,英文是The transaction is in doubt
http://msdn.microsoft.com/en-us/library/system.transactions.transactionstatus(VS.80).aspx