sql语句中的c#按钮文本

sql语句中的c#按钮文本,c#,sql,winforms,button,C#,Sql,Winforms,Button,我想不出为什么我在工作中遇到问题 btn.Text = comando.ExecuteScalar().ToString() ; 声明。如果有人解释我为什么会有问题(顺便说一下,我是个新手),我该如何纠正它。谢谢 public partial class Form1 : Form { public Form1() { InitializeComponent(); SqlCommand comando = new

我想不出为什么我在工作中遇到问题

btn.Text = comando.ExecuteScalar().ToString() ;
声明。如果有人解释我为什么会有问题(顺便说一下,我是个新手),我该如何纠正它。谢谢

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        SqlCommand comando = new SqlCommand();
        SqlConnection conn = new SqlConnection(@"server=.\SQLEXPRESS;Initial Catalog=try;Integrated Security=True;Pooling=False");
        comando.Connection = conn;
        conn.Open();

        int NumOfButtons = 12;
        int loc = 20;
        int k = 5;
        for (int i = 1; i <= NumOfButtons; i++)
        {
            Button btn = new Button();
            ListBox lst = new ListBox();
            {
                lst.Location = new Point(4, 4);
                btn.Size = new Size(60, 20);
                btn.Tag = i;

                comando.CommandText = "select ProductName from Products where productID = " + btn.Tag;
                btn.Text = comando.ExecuteScalar().ToString() ;  // here error occurs why?
                btn.Location = new Point(k, loc);
            }

            loc += 20;

            if (i > 6)
            {
                if (loc == 160)
                {
                    loc = 20;
                }
                k = 65;
                btn.Location = new Point(k, loc);
            }
            panel1.Controls.Add(btn);
        }
    }
公共部分类表单1:表单
{
公共表格1()
{
初始化组件();
SqlCommand comando=新SqlCommand();
SqlConnection conn=newsqlconnection(@“server=。\SQLEXPRESS;Initial Catalog=try;Integrated Security=True;Pooling=False”);
comando.连接=连接;
conn.Open();
int numobutons=12;
int loc=20;
int k=5;
对于(int i=1;i 6)
{
如果(loc==160)
{
loc=20;
}
k=65;
btn.位置=新点(k,loc);
}
面板1.控件。添加(btn);
}
}

我们不知道您会遇到什么样的异常,因此可能是以下任何一种情况

  • 没有表
    产品
  • Products
    没有列
    ProductName
    productId
  • Products
    表至少缺少一条productID为1到12的记录
  • 对于所选记录之一,
    ProductName
    列为
    NULL

    • 我们不知道您会遇到什么样的异常情况,因此可能是以下任何一种情况

      • 没有表
        产品
      • Products
        没有列
        ProductName
        productId
      • Products
        表至少缺少一条productID为1到12的记录
      • 对于所选记录之一,
        ProductName
        列为
        NULL
        • 试试这个

           ListBox lst = new ListBox();
                  {
                      try
                      {
                       lst.Location = new Point(4, 4);
                       btn.Size = new Size(60, 20);
                       btn.Tag = i;
          
                       comando.CommandText = "select ProductName from Products where productID = " + btn.Tag;
                       btn.Text = comando.ExecuteScalar().ToString() ;  // here error occurs why?
                       btn.Location = new Point(k, loc);
                      }
                      catch(Exception ex)
                      {
                       MessageBox.Show(ex.Message);
                      }
                  }
          
          现在执行你的应用程序,看看你的应用程序对异常有何评论。

          试试这个

           ListBox lst = new ListBox();
                  {
                      try
                      {
                       lst.Location = new Point(4, 4);
                       btn.Size = new Size(60, 20);
                       btn.Tag = i;
          
                       comando.CommandText = "select ProductName from Products where productID = " + btn.Tag;
                       btn.Text = comando.ExecuteScalar().ToString() ;  // here error occurs why?
                       btn.Location = new Point(k, loc);
                      }
                      catch(Exception ex)
                      {
                       MessageBox.Show(ex.Message);
                      }
                  }
          

          现在执行你的应用程序,看看你的应用程序对异常有什么看法。

          问题是我在sql语句中使用了一个英文字母表中没有的字符。但在我的问题中,我没有复制并粘贴确切的声明。因此,当我纠正它时,它就完成了。但在这里我要感谢你们所有人,因为我从你们的答案中学到了更多。谢谢。我都给你打分了,只是接受了德维奥的回答,因为他提供了更多信息。他陈述了可能出现的问题。这对像我这样的新手很有帮助。

          问题是我在sql语句中使用了一个英文字母表中没有的字符。但在我的问题中,我没有复制并粘贴确切的声明。因此,当我纠正它时,它就完成了。但在这里我要感谢你们所有人,因为我从你们的答案中学到了更多。谢谢。我都给你打分了,只是接受了德维奥的回答,因为他提供了更多信息。他陈述了可能出现的问题。对像我这样的新手很有帮助。

          SqlException未经处理。请尝试调试程序,它将为您提供有关异常的一些信息我已经尝试过调试,但我不知道为什么。请尝试在sqlserver中运行这些命令,并检查它们是否在那里运行良好??您没有在连接字符串中选择数据库…SqlException未经处理,它说。尝试调试程序,它将为您提供有关已尝试调试的异常的一些信息,但我无法找出原因。请尝试在sqlserver中运行这些命令,并检查它们是否在那里运行良好??您没有在连接字符串中选择数据库…没有这些问题。%当然可以。但是谢谢你提供的信息。这是一个很好的信息。不是这些问题的原因当然可以。但是谢谢你提供的信息。这是个好消息。