gpt4 book ai didi

c# - 我的选择语句有什么问题?

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:43 25 4
gpt4 key购买 nike

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connecton1"].ConnectionString);
conn.Open();
SqlCommand check = new SqlCommand("SELECT Location FROM Items WHERE Serial="+Convert.ToInt32(Serialtxt.Text).ToString()+"", conn);
string checker = check.ExecuteReader();

我正在尝试在我的数据库中查找一段数据并将其分配给一个变量。我得到的错误是

Cannot implicitly convert type 'System.Data.SqlClient.SqlDataReader' to string

我做错了什么?

最佳答案

你必须使用 ExecuteScalar 相反。

string checker = (string)check.ExecuteScalar();

您还应该使用 sql 参数来防止 sql 注入(inject)。

SqlCommand check = new SqlCommand("SELECT Location FROM Items WHERE Serial = @Serial", conn);
check.Parameters.AddWithValue("@Serial", Convert.ToInt32(Serialtxt.Text));

如果您希望每个序列有多个行,您可以使用 ExecuteReader并填写 List<string> :

List<string> allLocations = new List<string>();
using(SqlDataReader rd = check.ExecuteReader())
while(rd.Read())
allLocations.Add(rd.GetString(0));

关于c# - 我的选择语句有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27028651/

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