【问题标题】:how to extract data to C# variable from database [closed]如何从数据库中提取数据到 C# 变量[关闭]
【发布时间】:2016-01-08 05:10:48
【问题描述】:

尝试从 select 查询中获取 c# 变量的值时出错

using (var cmd = new SqlCommand("select group1 from product where productname = @pn)", con))
{
    cmd.Parameters.Add(new SqlParameter("@pn", TextBox1.Text));

    reader = cmd.ExecuteReader();//got error

    while (reader.Read())
    {
        data = Convert.ToInt32(reader);//got error
    }    
}

【问题讨论】:

  • 试试data = (SqlCommand)Int32.Parse("reader")
  • 请花点时间仔细阅读如何提出适当的问题。 stackoverflow.com/help/how-to-ask
  • 使用 (var reader = cmd.ExecuteReader()){ ...
  • 您需要在执行命令之前打开您的连接!在cmd.ExecuteScalar() 调用之前使用con.Open()

标签: c# sql-server


【解决方案1】:

如果您要使用 ExecuteScalar() 从数据库中获取单个值,那么您可以这样做。

这样使用;

using (var cmd = new SqlCommand("select group1 from product where productname = @pn)", con))
{
    cmd.Parameters.Add("@pn", SqlDbType.NVarChar).Value = TextBox1.Text;

    object value = cmd.ExecuteScalar();
    data = Convert.ToInt32(value) 
}

【讨论】:

  • object value = cmd.ExecuteScalar();//error ')' 附近的语法不正确。仍然出现同样的错误。
  • 使用 (SqlCommand cmd = new SqlCommand("select group1 from product where productname = @pn)", con)) { cmd.Parameters.Add("@pn", SqlDbType.NVarChar).Value = 文本框1.文本; object value = cmd.ExecuteScalar();///运行时这里发生错误 oldval = Convert.ToInt32(value); newval = oldval + Convert.ToInt32(TextBox2.Text); cmd.ExecuteNonQuery(); } 不确定是什么类型的错误??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-04
  • 2015-09-12
  • 2014-01-13
  • 2013-03-27
  • 2013-12-19
  • 1970-01-01
相关资源
最近更新 更多