一个sql问题

a410787073 2011-08-10 02:37:20
public static int ExecuteSqlTran(List<String> SQLStringList)
{
int count = 0;
string strSql = "";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{

for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n];
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
count += cmd.ExecuteNonQuery();
}
}
tx.Commit();
return count;
}
catch(Exception e)
{
tx.Rollback();
string erromsg = e.StackTrace;
string erroname = e.Message;
string url = System.Web.HttpContext.Current.Request.RawUrl;
string ip = System.Web.HttpContext.Current.Request.UserHostAddress;
strSql = string.Format("insert into tb_errorlog(errorlog,errorTime,ErrorUrl,ErrorIP) values('{0}','{1}','{2}','{3}')", erromsg + "最后说明:" + erroname, DateTime.Now.ToString(), url, ip);
count = 0;
}
}
ExecuteSql(strSql);
return count;

}


public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}



执行ExecuteSql 捕获到了ExecuteSqlTran 的错误。。导致不能成功执行ExecuteSql 怎么办啊 急呀
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a410787073 2011-08-10
  • 打赏
  • 举报
回复
呵呵 已经找到 错误原因了 不麻烦大家了
a410787073 2011-08-10
  • 打赏
  • 举报
回复
求帮忙呀、、
a410787073 2011-08-10
  • 打赏
  • 举报
回复
打印出来是


insert into tb_errorlog(errorlog,errorTime,ErrorUrl,ErrorIP) values(' 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在 Moximoxi.DBUtility.DbHelperSQL.ExecuteSqlTran(List`1 SQLStringList) 位置 F:\Moximoxi\DBUtility\DbHelperSQL.cs:行号 303最后说明:列名 'SysPurNO1' 无效。','2011-8-10 14:45:41','/Purchase/ReturnPro.aspx?type=return&id=2039&_dc=0.2575378563524583','127.0.0.1')
AcHerat 2011-08-10
  • 打赏
  • 举报
回复
感觉不像是SQL问题呀!程序问题吧!
快溜 2011-08-10
  • 打赏
  • 举报
回复
这个程序写的,Commit和Rollback看的我心痛。
AcHerat 2011-08-10
  • 打赏
  • 举报
回复
strSql = string.Format("insert into tb_errorlog(errorlog,errorTime,ErrorUrl,ErrorIP) values('{0}','{1}','{2}','{3}')", erromsg + "最后说明:" + erroname, DateTime.Now.ToString(), url, ip);

System.print(strSql);

打印出来看看!

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧