| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1280 人关注过本帖
标题:ASP.NET2.0通过代码用数据适配器对数据库添加、删除、修改、查询时的几个问 ...
只看楼主 加入收藏
foshan
Rank: 1
等 级:新手上路
威 望:2
帖 子:605
专家分:0
注 册:2006-3-1
结帖率:100%
收藏
 问题点数:0 回复次数:5 
ASP.NET2.0通过代码用数据适配器对数据库添加、删除、修改、查询时的几个问题

以下是从ASP.NET1.0的例子中的摘抄的代码,通过代码用数据适配器对数据库添加、删除、修改、查询。

protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn2 = new SqlConnection("data source=(local);database=Northwind;user=sa; password=8888"); //创建连接对象
SqlDataAdapter da2 = new SqlDataAdapter();
//适配器对象的查询命令
SqlCommand cmdSel=new SqlCommand("select RegionID, RegionDescription from Region", conn2); //创建DataAdapter(数据适配器)
da2.SelectCommand = cmdSel;
//适配器对象的更新命令
SqlCommand cmdUpdate = new SqlCommand("update Region set RegionDescription =@RegionDescription where RegionID = @RegionID", conn2);
SqlParameter paramID = new SqlParameter("@RegionID",SqlDbType.Int);
paramID.SourceColumn = "RegionID"; //数据值对应的字段
paramID.SourceVersion = DataRowVersion.Original; //数据值将使用初始版本的数值
cmdUpdate.Parameters.Add("@RegionDescription",SqlDbType.NChar,50,"RegionDescription");
cmdUpdate.Parameters.Add(paramID);
da2.UpdateCommand = cmdUpdate; //
//适配器对象的添加命令
SqlCommand cmdInsert = new SqlCommand("insert into Region(RegionDescription) values (@RegionDescription)", conn2);
cmdInsert.Parameters.Add("@RegionID", SqlDbType.Int, 4, "RegionID");
cmdInsert.Parameters.Add("@RegionDescription", SqlDbType.NChar, 50, "RegionDescription");
da2.InsertCommand = cmdInsert;
//适配器对象的删除命令
SqlCommand cmdDel = new SqlCommand("delete * from Region where RegionID=@RegionID", conn2);
SqlParameter paramDelID = new SqlParameter("@RegionID", SqlDbType.Int);
paramDelID.SourceColumn = "RegionID";
paramDelID.SourceVersion = DataRowVersion.Original;
cmdDel.Parameters.Add(paramDelID);
da2.DeleteCommand = cmdDel;

DataSet ds2 = new DataSet(); //创建DataSet(数据集)
da2.Fill(ds2,"Region"); //使用数据适配器填充数据集


GridView1.DataSource = ds2; //显示,绑定
//GridView1.DataMember = "mybaobiao";
GridView1.DataBind();

//添加数据
DataRow addrow = ds2.Tables[0].NewRow();
addrow[1] = "碧海湾8";
ds2.Tables[0].Rows.Add(addrow);
da2.Update(ds2, "Region");

//修改数据
DataRow editrow = ds2.Tables["Region"].Rows[0];
//editrow.BeginEdit();
editrow["RegionDescription"] = "北京9北京9北京9";
//editrow.EndEdit();
GridView1.DataSource = ds2; //显示,绑定
GridView1.DataBind();
da2.Update(ds2, "Region");

//删除数据
DataRow editrow1 = ds2.Tables["Region"].Rows[3];
editrow1.Delete();
GridView1.DataSource = ds2; //显示,绑定
GridView1.DataBind();
//da2.Update(ds2,"Region")
}

搜索更多相关主题的帖子: 数据库 ASP 配器 代码 
2007-03-13 09:05
foshan
Rank: 1
等 级:新手上路
威 望:2
帖 子:605
专家分:0
注 册:2006-3-1
收藏
得分:0 

遇到几个问题请教大家:

问题一:当运行修改命令时,出现,显示如下,应如何修改代码?

“/showbaobiao”应用程序中的服务器错误。
--------------------------------------------------------------------------------

第 1 行: '=' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '=' 附近有语法错误。

源错误:


行 142: GridView1.DataSource = ds2; //显示,绑定
行 143: GridView1.DataBind();
行 144: da2.Update(ds2, "Region");
行 145:
行 146: //删除数据

源文件: d:\myweb\showbaobiao\Default2.aspx.cs 行: 144


[此贴子已经被作者于2007-3-13 9:07:47编辑过]


我是2.0超级菜鸟,请多多教导!
2007-03-13 09:05
foshan
Rank: 1
等 级:新手上路
威 望:2
帖 子:605
专家分:0
注 册:2006-3-1
收藏
得分:0 
我想主要是以下这段代码有误引起的,但我找不出原因所在,请大家帮忙修正代码。

//适配器对象的更新命令
SqlCommand cmdUpdate = new SqlCommand("update Region set RegionDescription =@RegionDescription where RegionID = @RegionID", conn2);
SqlParameter paramID = new SqlParameter("@RegionID",SqlDbType.Int);
paramID.SourceColumn = "RegionID"; //数据值对应的字段
paramID.SourceVersion = DataRowVersion.Original; //数据值将使用初始版本的数值
cmdUpdate.Parameters.Add("@RegionDescription",SqlDbType.NChar,50,"RegionDescription");
cmdUpdate.Parameters.Add(paramID);
da2.UpdateCommand = cmdUpdate; //

我是2.0超级菜鸟,请多多教导!
2007-03-13 09:10
foshan
Rank: 1
等 级:新手上路
威 望:2
帖 子:605
专家分:0
注 册:2006-3-1
收藏
得分:0 

找到原因所在了://适配器对象的更新命令
SqlCommand cmdUpdate = new SqlCommand("update Region set RegionDescription @RegionDescription where RegionID = @RegionID", conn2);

等号“=”误用了 全角 的“=”等号。

://适配器对象的更新命令
SqlCommand cmdUpdate = new SqlCommand("update Region set RegionDescription = @RegionDescription where RegionID = @RegionID", conn2);


[此贴子已经被作者于2007-3-13 11:39:49编辑过]


我是2.0超级菜鸟,请多多教导!
2007-03-13 11:37
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 


有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-03-13 12:10
foshan
Rank: 1
等 级:新手上路
威 望:2
帖 子:605
专家分:0
注 册:2006-3-1
收藏
得分:0 
为何以下的删除语句在运行时出现:System.Data.SqlClient.SqlException: 第 1 行: '*' 附近有语法错误。

SqlCommand cmdDel = new SqlCommand("delete * from baobiao where ID=@ID",conn1);

……

//删除数据
DataRow editrow1 = ds1.Tables["baobiao"].Rows[1];
//editrow1[0] = 1;
editrow1.Delete();
GridView1.DataSource = ds1; //显示,绑定
GridView1.DataBind();
da1.Update(ds1, "baobiao");

我是2.0超级菜鸟,请多多教导!
2007-03-16 22:36
快速回复:ASP.NET2.0通过代码用数据适配器对数据库添加、删除、修改、查询时的几 ...
数据加载中...
 
   



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

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