try
{
sqlTran = conn.BeginTransaction();
String tblAuto = "Select * from tblAuto_Num where Company_Code='Comp'AND Module='WSS' AND Sub_Module='SVS' AND Doc_Type='ORD'; ";
SqlCommand cmd = new SqlCommand(tblAuto, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
}
reader.Close();
Label1.Text = "ttt";
sqlTran.Commit();
conn.Close();
}
catch (Exception ex)
{
if (sqlTran != null) sqlTran.Rollback();
Label1.Text = ex.toString();
}
當我執行SqlDataReader reader = cmd.ExecuteReader();
時,它進入catch
塊。誰能解釋爲什麼?執行'閱讀器'去捕捉塊
這是錯誤消息:
System.InvalidOperationException: ExecuteReader requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader() at TicketApp.Default.ButtonAppointment_Click(Object sender, EventArgs e)
in c:\Users\Farhad\Documents\Visual Studio 2013\Projects\TicketApp\TicketApp\Default.aspx.cs:line 29
它拋出一個異常或東西?你調試了你的代碼嗎? –
您如何使用調試器查看正在拋出的異常? – Dirk
你沒有做任何事情,所以你看不出有什麼問題。記錄異常 - 或者至少在調試器中查看它。這很可能解釋它。 –