gpt4 book ai didi

c# - 选择语句的返回值

转载 作者:太空狗 更新时间:2023-10-29 22:04:12 25 4
gpt4 key购买 nike

我想将 select 语句的结果值检索到字符串变量中。像这样:

OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = GetConnection();
cmd1.CommandText = "SELECT treatment FROM appointment WHERE patientid = " + text;
cmd1.ExecuteNonQuery();

我想将选定的处理值放入一个字符串变量中。我该怎么做?

最佳答案

使用ExecuteReader()而不是 ExecuteNonQuery() . ExecuteNonQuery() 仅返回受影响的行数。

try
{
SqlDataReader dr = cmd1.ExecuteReader();
}
catch (SqlException oError)
{

}
while(dr.Read())
{
string treatment = dr[0].ToString();
}

或者更好,使用 using statement

using(SqlDataReader dr = cmd1.ExecuteReader())
{
while(dr.Read())
{
string treatment = dr[0].ToString();
}
}

但是如果您的 SqlCommand 只返回 1 列,您可以使用 ExecuteScalar()方法。它返回第一行的第一列,如下所示:-

cmd.CommandText = "SELECT treatment FROM appointment WHERE patientid = " + text;
string str = Convert.ToString(cmd.ExecuteScalar());

您也可以将代码打开到 SQL Injection .始终使用参数化查询。 Jeff 有一篇很酷的博客文章,名为 Give me parameterized SQL, or give me death .请仔细阅读。另请阅读 DotNetPerl SqlParameter文章。 SQL 注入(inject)在您处理查询时非常重要。

关于c# - 选择语句的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14041264/

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