我建了一个应用程序,在TEXTBOX输入查询字符,按BUTTON键后就会把查询的结果显示在下面的一个DATAGRID中(不是TEXTBOX绑定数据库的那种),显示后我想在显示的数据中修改其中的几项,然后按保存键后就把修改的数据保存到数据库中,要怎么写代码啊
[此贴子已经被作者于2006-8-8 11:26:01编辑过]
[此贴子已经被作者于2006-8-8 15:33:07编辑过]
private void btnUpdate_Click(object sender, System.EventArgs e)
{
DataRow[] rr=dt.Select("","",DataViewRowState.ModifiedCurrent);
if(rr==null || rr.Length<=0)
{
MessageBox.Show("没有需要更改的数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
SqlConnection con=new SqlCon(Main.constr).GetCon();
SqlCommand cmd=new SqlCommand();
cmd.Connection=con;
cmd.CommandText="update 档案 set [ID]=? [学号]=?,[姓名]=?,[性别]=?,[出生日期]=?,[籍贯]=?,[政治面貌]=?,[民族]=?,[毕业时间]=?,[就业情况]=?,[就业单位]=? where [ID]=? and [学号]=? and [姓名]=? and [性别]=? and [出生日期]=? and [籍贯]=? and [政治面貌]=? and [民族]=? and [毕业时间]=? and [就业情况]=? and [就业单位]=?";
cmd.Parameters.Add("newid",SqlDbType.Char ,50,"ID");
cmd.Parameters.Add("new学号",SqlDbType.Char ,50,"学号");
cmd.Parameters.Add("new姓名",SqlDbType.Char,50,"姓名");
cmd.Parameters.Add("new性别",SqlDbType.Char,2,"性别");
cmd.Parameters.Add("new出生日期",SqlDbType.Char,10,"出生日期");
cmd.Parameters.Add("new籍贯",SqlDbType.Char,20,"籍贯");
cmd.Parameters.Add("new政治面貌",SqlDbType.Char,50,"政治面貌");
cmd.Parameters.Add("new民族",SqlDbType.Char,2,"民族");
cmd.Parameters.Add("new毕业时间",SqlDbType.Char,100,"毕业时间");
cmd.Parameters.Add("new就业情况",SqlDbType.Char,2,"就业情况");
cmd.Parameters.Add("new就业单位",SqlDbType.Char,100,"就业单位");
SqlParameter para=cmd.Parameters.Add("oldid",SqlDbType.Char,50,"ID");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old学号",SqlDbType.Char,50,"学号");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old姓名",SqlDbType.Char,50,"姓名");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old性别",SqlDbType.Char,2,"性别");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old出生日期",SqlDbType.Char,10,"出生日期");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old籍贯",SqlDbType.Char,20,"籍贯");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old政治面貌",SqlDbType.Char,50,"政治面貌");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old民族",SqlDbType.Char,2,"民族");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old毕业时间",SqlDbType.Char,100,"毕业时间");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old就业情况",SqlDbType.Char,2,"就业情况");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old就业单位",SqlDbType.Char,100,"就业单位");
para.SourceVersion=DataRowVersion.Original;
SqlDataAdapter dv=new SqlDataAdapter();
dv.UpdateCommand=cmd;
try
{
dv.Update(dt.Select("","",DataViewRowState.ModifiedCurrent));
}
catch(SqlException er)
{
MessageBox.Show(er.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
MessageBox.Show("已成功修改数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
编译没问题,就是在修改的时候老是提示‘newid’附近有语法错误,
各位高手帮忙看下