| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:[求助]数据修改问题
取消只看楼主 加入收藏
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
 问题点数:0 回复次数:10 
[求助]数据修改问题

我建了一个应用程序,在TEXTBOX输入查询字符,按BUTTON键后就会把查询的结果显示在下面的一个DATAGRID中(不是TEXTBOX绑定数据库的那种),显示后我想在显示的数据中修改其中的几项,然后按保存键后就把修改的数据保存到数据库中,要怎么写代码啊

[此贴子已经被作者于2006-8-8 11:26:01编辑过]

搜索更多相关主题的帖子: 数据 
2006-08-08 10:46
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 

谁来帮帮我啊


2006-08-08 11:26
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 
太感谢你了,亲下,哈哈

2006-08-08 14:07
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 
private void btnUpdate_Click(object sender, System.EventArgs e)
{
SqlConnection thisConnection=new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;"+"Initial Catalog=student");
thisConnection.Open();//连接数据库
SqlDataAdapter da=new SqlDataAdapter();

DataTable dt=new DataTable();
da.Fill(dt);
this.dataGrid1.DataSource=dt;
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 Test set [学号]=?,[姓名]=?,[性别]=?,[出生日期]=?,[籍贯]=?,[政治面貌]=?,[民族]=?,[毕业时间]=?,[就业情况]=?,[就业单位]=?where[学号]=?and[姓名]=?and[性别]=?and[出生日期]=?and[籍贯]=?and[政治面貌]=?and[民族]=?and[毕业时间]=?and[就业情况]=?and[就业单位]=?";
cmd.Parameters.Add("new学号",SqlType.Char,50,"学号");
cmd.Parameters.Add("new姓名",SqlType.Char,50,"姓名");
cmd.Parameters.Add("new性别",SqlType.Char,2,"性别");
cmd.Parameters.Add("new出生日期",SqlType.Char,100,"出生日期");
cmd.Parameters.Add("new籍贯",SqlType.Char,50,"籍贯");
cmd.Parameters.Add("new政治面貌",SqlType.Char,50,"政治面貌");
cmd.Parameters.Add("new民族",SqlType.Char,2,"民族");
cmd.Parameters.Add("new毕业时间",SqlType.Char,100,"毕业时间");
cmd.Parameters.Add("new就业情况",SqlType.Char,2,"就业情况");
cmd.Parameters.Add("new就业单位",SqlType.Char,100,"就业单位");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old学号",SqlType.Char,50,"学号");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old姓名",SqlType.Char,50,"姓名");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old性别",SqlType.Char,2,"性别");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old出生日期",SqlType.Char,100,"出生日期");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old籍贯",SqlType.Char,50,"籍贯");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old政治面貌",SqlType.Char,50,"政治面貌");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old民族",SqlType.Char,2,"民族");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old毕业时间",SqlType.Char,100,"毕业时间");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old就业情况",SqlType.Char,2,"就业情况");
para.SourceVersion=DataRowVersion.Original;
para=cmd.Parameters.Add("old就业单位",SqlType.Char,100,"就业单位");
para.SourceVersion=DataRowVersion.Original;
SqlDataAdapter dv=new SqlDataAdapter();
dv.UpdateCommand=cmd;
try
{
da.Update(dt.Select("","",DataViewRowState.ModifiedCurrent));
}
catch(SqlException er)
{
MessageBox.Show(er.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
MessageBox.Show("已成功修改数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

我好笨啊,套用都不会用啊
红色的出错,救命啊

[此贴子已经被作者于2006-8-8 15:33:07编辑过]


2006-08-08 15:21
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 

我建了个类,怎么在窗体上引用啊
还有啊,要定义什么来着


2006-08-08 16:02
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 
现在就是SqlType有问题了
ACCESS里用OledbType
那Sql呢?不是SqlType吗?

2006-08-08 16:11
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 
现在剩最后一个了SqlConnection con=new SqlCon(Main.constr).GetCon();
“学生管理系统.Main”并不包含对“constr”的定义
我添加了个类有包含constr,
不知道在窗体上怎么引用

2006-08-08 16:21
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 
代码上是没问题,但是修改后总是提示没有需要更改的数据
怎么办啊

2006-08-09 10:58
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 

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’附近有语法错误,
各位高手帮忙看下


2006-08-09 12:07
coolfaith
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-4-25
收藏
得分:0 
为什么只有ID和Name才有[]啊,

2006-08-09 12:25
快速回复:[求助]数据修改问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016851 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved