我现在把数据表简单化,以方便反应问题有2张表,一张人员表person,一张部门表departmentperson字段
person_id
job_numb 工号
name 姓名
department_iddepartment
department_id
dep_name 部门
数据适配器的selectcommand这样写
select job_numb as 工号,name as 姓名,dep_name as 部门
from person left outer join department
on person.department_id = department.department_id
InsertCommand这样写
INSERT INTO person (job_numb, name)
VALUES (@job_numb,@name)UpdateCommand这样写
UPDATE person
SET job_numb = @job_numb, name = @name
WHERE (person_id = @Original_person_id)我这样在数据集里面设置好DataTable1这样表的命令以后,编译完成就有这张表对应的数据适配器dataTableAdapter1与数据集person1,并且form窗口上有2个textbox分别绑定job_numb与name。然后下面是我的代码构造函数里面,启动窗口的时候代码是这样cmOrders = (CurrencyManager)BindingContext[person1, "DataTable1"];
cmOrders.AddNew();我的窗口上面全是textbox单源绑定,属性里面已经添加了绑定,
然后我点确定更新
cmOrders.EndCurrentEdit(); if (person1.GetChanges() != null)
{
try
{ //SqlDataAdapter
personTableAdapter1.Update(person1);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
person1.RejectChanges();
}
}更新总是出错,好像似乎要我对所有的textbox都进行填值一样,"被准备的语句 需要参数@job_numb,但未提供该参数"
我是在textbox里面填了值以后才点确定的,怎么还会有这样的错误?如果我不关联department表,只有person一张表,上面的所有操作都是可以得,不解很不解,困扰很多天了,麻烦各位,很需要解决这个问题
person_id
job_numb 工号
name 姓名
department_iddepartment
department_id
dep_name 部门
数据适配器的selectcommand这样写
select job_numb as 工号,name as 姓名,dep_name as 部门
from person left outer join department
on person.department_id = department.department_id
InsertCommand这样写
INSERT INTO person (job_numb, name)
VALUES (@job_numb,@name)UpdateCommand这样写
UPDATE person
SET job_numb = @job_numb, name = @name
WHERE (person_id = @Original_person_id)我这样在数据集里面设置好DataTable1这样表的命令以后,编译完成就有这张表对应的数据适配器dataTableAdapter1与数据集person1,并且form窗口上有2个textbox分别绑定job_numb与name。然后下面是我的代码构造函数里面,启动窗口的时候代码是这样cmOrders = (CurrencyManager)BindingContext[person1, "DataTable1"];
cmOrders.AddNew();我的窗口上面全是textbox单源绑定,属性里面已经添加了绑定,
然后我点确定更新
cmOrders.EndCurrentEdit(); if (person1.GetChanges() != null)
{
try
{ //SqlDataAdapter
personTableAdapter1.Update(person1);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
person1.RejectChanges();
}
}更新总是出错,好像似乎要我对所有的textbox都进行填值一样,"被准备的语句 需要参数@job_numb,但未提供该参数"
我是在textbox里面填了值以后才点确定的,怎么还会有这样的错误?如果我不关联department表,只有person一张表,上面的所有操作都是可以得,不解很不解,困扰很多天了,麻烦各位,很需要解决这个问题
personTableAdapter1.Update(person1);
这行就是数据适配器调用sql代码啊,只是我一般用控件直接拖,不会说在.cs里面写SQL代码,效果一样的,我那样做方便,但是不明白为什么有错