C# 项目中每个控件的连接对象、命令等,使得重用极其困难。@user1889231您需要遵循Jon关于查询的建议,以及Parag关于在使用数据表之前先实例化数据表的建议。这应该可以让你的代码“工作”,但这不一定是最好的方式:-)谢谢。我总是想让它对我来说是最简单
C# 项目中每个控件的连接对象、命令等,使得重用极其困难。@user1889231您需要遵循Jon关于查询的建议,以及Parag关于在使用数据表之前先实例化数据表的建议。这应该可以让你的代码“工作”,但这不一定是最好的方式:-)谢谢。我总是想让它对我来说是最简单,c#,sql,visual-studio,C#,Sql,Visual Studio,项目中每个控件的连接对象、命令等,使得重用极其困难。@user1889231您需要遵循Jon关于查询的建议,以及Parag关于在使用数据表之前先实例化数据表的建议。这应该可以让你的代码“工作”,但这不一定是最好的方式:-)谢谢。我总是想让它对我来说是最简单的,而不是最好的,特别是在琐碎的事情上,但谢谢你指出这一点out@dash:Ick,那太可怕了,是的:(@JonSkeet-+1.对SQL语句的观察很好。)我猜原始海报已经将连接和命令类拖放到了表单上。这会导致项目中每个控件的连接对象、命令等的
项目中每个控件的连接对象、命令等,使得重用极其困难。@user1889231您需要遵循Jon关于查询的建议,以及Parag关于在使用数据表之前先实例化数据表的建议。这应该可以让你的代码“工作”,但这不一定是最好的方式:-)谢谢。我总是想让它对我来说是最简单的,而不是最好的,特别是在琐碎的事情上,但谢谢你指出这一点out@dash:Ick,那太可怕了,是的:(@JonSkeet-+1.对SQL语句的观察很好。)我猜原始海报已经将连接和命令类拖放到了表单上。这会导致项目中每个控件的连接对象、命令等的多个实例,这使得重用非常困难。@user1889231您需要遵循Jon关于查询的建议,以及Parag关于在使用数据表之前先实例化数据表的建议。这应该可以让你的代码“工作”,但这不一定是最好的方式:-)谢谢。我总是想让它对我来说是最简单的,而不是最好的,特别是在琐碎的事情上,但谢谢你指出这一点out@dash:啊,那太可怕了,是的:(@JonSkeet-+1.对SQL语句的观察很好。)谢谢你的好话,伙计!谢谢你的好话,伙计!
namespace iss_farmacie_spitali
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlDataReader reader = null;
DataTable table = null;
try
{
sqlConnection1.Open();
}
catch(Exception f)
{
Console.WriteLine(e.ToString());
}
sqlCommand1.Parameters.AddWithValue("@user",textBox1.Text);
sqlCommand1.Parameters.AddWithValue("@pass",textBox2.Text);
sqlCommand1.CommandText = "SELECT id,parola FROM ANGAJAT WHERE id='@user' AND parola='@pass'";
reader = sqlCommand1.ExecuteReader();
table.Load(reader);
sqlConnection1.Close();
}
}
}
using (var connection = new SqlConnection(...))
{
connection.Open();
using (var command = new SqlComand(...))
{
...
}
}
SELECT id,parola FROM ANGAJAT WHERE id='@user' AND parola='@pass'
SELECT id,parola FROM ANGAJAT WHERE id=@user AND parola=@pass
private void button1_Click(object sender, EventArgs e)
{
SqlDataReader reader = null;
//Corrections
DataTable table = new DataTable(); //#1 : Initialize Table
using(SqlConnection sqlConnection1 = new SqlConnection()) //#2: Initialize SqlConnection & make use of `using` for object cleanup after use
using(SqlCommand sqlCommand1 = new SqlCommand()) //#3: Initialize SqlCommand & make use of `using` for object cleanup after use
{
sqlConnection1.ConnectionString = "<connection string>"; //#4: Set connection string
sqlCommand1.Connection = sqlConnection1;
sqlConnection1.Open();
sqlCommand1.CommandText = "SELECT id,parola FROM ANGAJAT WHERE id=@user AND parola=@pass";
sqlCommand1.Parameters.AddWithValue("@user",textBox1.Text);
sqlCommand1.Parameters.AddWithValue("@pass",textBox2.Text);
using(SqlReader reader = sqlCommand1.ExecuteReader()) //#4 : Make use of `using` for object cleanup after use
{
table.Load(reader);
}
sqlConnection1.Close();
}
}
reader = sqlCommand1.ExecuteReader();
while (reader.Read())
{
// Do somthing here
}