Ошибка SqlDataReader
Я пытаюсь сделать SqlParameter и при запуске появляется ошибка веб-сайта в SqlDataReader _dataReader = _command.ExecuteReader();
Вот мой код:
private void goLogin()
{
conn.ConnectionString = _connectionString;
conn.Open();
string username = txt_username.Text;
_sqlCodes = "SELECT ACC_PASS,ACC_ID" +
"FROM ACC WHERE ACC_USER = @username";
SqlCommand _command = new SqlCommand(_sqlCodes);
_command.Parameters.Add(new SqlParameter("@username",username));
SqlDataReader _dataReader = _command.ExecuteReader();
//more codes here...
conn.Close();
}
ОШИБКА:
Ошибка сервера в приложении '/'
ExecuteReader: свойство подключения не было инициализировано.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.InvalidOperationException: ExecuteReader: свойство подключения не было инициализировано.
Ошибка источника:
Line 31: SqlCommand _command = new SqlCommand(_sqlCodes);
Line 32: _command.Parameters.Add(new SqlParameter("username",username));
Line 33: SqlDataReader _dataReader = _command.ExecuteReader();
Line 34: conn.Close();
Line 35: }
Исходный файл: C: \ Users \ arnie.mateo \ Desktop \ GoWireless Project Leonel \ GoWireless \ GoWireless \ account.aspx.cs Строка: 33
Трассировки стека:
[InvalidOperationException: ExecuteReader: Connection property has not been initialized.]
System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +5089605
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +87
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +141
System.Data.SqlClient.SqlCommand.ExecuteReader() +89
GoWireless.WebForm1.goLogin() in C:\Users\arnie.mateo\Desktop\GoWireless Project Leonel\GoWireless\GoWireless\account.aspx.cs:33
GoWireless.WebForm1.btn_login_Click(Object sender, EventArgs e) in C:\Users\arnie.mateo\Desktop\GoWireless Project Leonel\GoWireless\GoWireless\account.aspx.cs:52
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
Информация о версии: Microsoft.NET Framework Версия:4.0.30319; ASP.NET версия:4.0.30319.272
2 ответа
Вы должны дать имя подключения к SqlCommand
,
использование SqlCommand _command = new SqlCommand(_sqlCodes, conn);
SqlCommand
объект не знает, какое соединение использовать. Вы можете создать команду с:
SqlCommand _command = conn.CreateCommand();
или установите соединение на нем:
_command.Connection = conn;