C#中错误:未处理sqlException,列名'Lab'无效
各位大侠,我用C#希望连数据库,然后更新数据库信息,代码如下:
namespace LinktoDatabase
{
public partial class Form2 : Form
{
DataTable dt = null;
TextBox[] txtBox;
SqlConnection con = new SqlConnection("server=.;database=DeviceMng");
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
showList();
}
private void showList()
{
listView1.View = View.Details;//视图
listView1.GridLines = true;//网格线
using (SqlDataAdapter da = new SqlDataAdapter("select * from t_Student", con))
{
//生成结果集
dt = new DataTable();
da.Fill(dt);
ColumnHeader ch;
for (int i = 0; i < dt.Columns.Count; i++)//列
{
ch = new ColumnHeader();
ch.Text = dt.Columns[i].ColumnName.ToString();
ch.Name = dt.Columns[i].ColumnName.ToString();
ch.Width = 72;//
this.listView1.Columns.Add(ch);
}
//建立结构
Method(dt);
}
}
private void tbADD_Click(object sender, EventArgs e)
{
if (dt != null)
{
DataRow row;
txtBox = new TextBox[4]; //建立数组
txtBox[0] = this.textBox1;
txtBox[1] = this.textBox2;
txtBox[2] = this.textBox3;
txtBox[3] = this.textBox4;
row = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
row[dt.Columns[i].ToString()] = this.txtBox[i].Text.ToString();
}
dt.Rows.Add(row);
Method(dt);
}
}
private void Method(DataTable dt)
{
listView1.Items.Clear();
ListViewItem listItem = null;
for (int j = 0; j < dt.Rows.Count; j++)
{
listItem = new ListViewItem(dt.Rows[j][0].ToString());
for (int k = 1; k < dt.Columns.Count; k++)
{
listItem.SubItems.Add(dt.Rows[j][k].ToString());
}
listView1.Items.Add(listItem);
}
}
private void tbSave_Click(object sender, EventArgs e)
{
using (SqlDataAdapter da = new SqlDataAdapter())
{
SqlCommand command = new SqlCommand("INSERT INTO t_Student " +
"VALUES (@StuNo,@Name,@Tutor,@LabNo)", con);
// Add the parameters for the InsertCommand.
command.Parameters.Add("@StuNo", SqlDbType.Char, 11, "StuNo");
command.Parameters.Add("@Name", SqlDbType.Char, 10, "Name");
command.Parameters.Add("@Tutor", SqlDbType.Char, 10, "Tutor");
command.Parameters.Add("@LabNo", SqlDbType.Char, 5, "LabNo");
da.InsertCommand = command;
da.Update(dt);
MessageBox.Show("保存成功");
}
}
}
调试的时候是没有错误的,但是执行到tbSave_Click时,会在program.cs中的Application.Run(new Form2());处显示:C#中错误:未处理sqlException,列名'Lab'无效
我找不出错误 请各位帮忙了,小女子不胜感激~~~~