解决  SqlException:'Invalid column name 'id'.

编纂

会员
已加入
2020年12月4日
留言内容
18
编程经验
1-3
我正在制作一个窗口表单数据库管理系统。当我点击"Add staff"选项,发生此错误System.Data.SqlClient.SqlException:'无效的列名'id'。线路编号:20
Code:
private void StaffInformation_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data 进入 the 'hospitalDataSet.staff' table. You can move, or remove it, as needed.
            
            using (SqlConnection con1 = new SqlConnection(@"Data Source=DESKTOP-A85V0ME\SQLEXPRESS;Initial Catalog=Hospitalmanagement;Integrated Security=True"))
            {

                string str2 = "SELECT * FROM staff";
                SqlCommand cmd2 = new SqlCommand(str2, con1);
                SqlDataAdapter da = new SqlDataAdapter(cmd2);
                DataTable dt = new DataTable();
                da.Fill(dt);
                dataGridView1.DataSource = new BindingSource(dt, null);
            }
            SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-A85V0ME\SQLEXPRESS;Initial Catalog=Hospitalmanagement;Integrated Security=True");
            con.Open();
            string str1 = "select max(id) from staff;";

            SqlCommand cmd1 = new SqlCommand(str1, con);
            SqlDataReader dr = cmd1.ExecuteReader();
            if (dr.Read())
            {
                string val = dr[0].ToString();
                if (val == "")
                {
                    textBox1.Text = "1";
                }
                else
                {
                    int a;
                    a = Convert.ToInt32(dr[0].ToString());
                    a = a + 1;
                    textBox1.Text = a.ToString();
                }
            }
            con.Close();
        }
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,497
地点
弗吉尼亚州切萨皮克
编程经验
10+
听起来更像是SQL问题,而不是C#问题。您的Staff表似乎没有名为"id".
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,921
地点
英国
编程经验
10+
首先,将代码转储到装入事件中是一个很糟糕的主意,尤其是当该装入事件负责执行与数据库的通信时。

其次,您确定该列存在吗?上面的代码和 "Add staff" 选项。我没看到吗?

第三,看来这可能是一个不一致的多元化问题。
 
最佳 底部