gpt4 book ai didi

c# - 在 C# 中处理 SQL 数据

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:33 25 4
gpt4 key购买 nike

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();
}


}
}

所以我正在尝试在这里进行我忠实的登录,但我一直收到空引用错误。我需要帮助的是了解如何处理我从 sql 获得的数据,以及如何使其可用作字符串和诸如此类的东西。

最佳答案

这里有多个问题。

一个是您没有显示声明或初始化 sqlCommand1sqlConnection1 的位置。我的猜测是它们都是空的,这就是你得到异常的原因。它们应该在方法中声明和初始化,使用using 语句以便它们得到适当的处理:

using (var connection = new SqlConnection(...))
{
connection.Open();
using (var command = new SqlComand(...))
{
...
}
}

然后就是这个问题。

SELECT id,parola FROM ANGAJAT WHERE id='@user' AND parola='@pass'

您得到引号这一事实意味着您正在寻找恰好是 @user 的 ID - 而不是 @user 参数的值。你想要:

SELECT id,parola FROM ANGAJAT WHERE id=@user AND parola=@pass

编辑:如前所述,也初始化您的 DataTable :)

关于c# - 在 C# 中处理 SQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16957403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com