标题:各位版主,高手们,帮一下忙,datagrid更新数据的问题.(不能更新啊!)
只看楼主
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
结帖率:50%
 问题点数:0 回复次数:11 
各位版主,高手们,帮一下忙,datagrid更新数据的问题.(不能更新啊!)

在我点击编辑时,修改完数据时点确定后不能更改数据,我把代码贴出来了,请大家帮帮忙吧,看哪有问题啊?

<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 104px"
HeaderStyle-BackColor="#BCBCBC" Width="100%" AllowPaging="True" PageSize="15" PagerStyle-Visible="false"
OnEditCommand="datagrid1_edit" OnCancelCommand="datagrid1_cancel" OnUpdateCommand="datagrid1_update"
OnDeleteCommand="datagrid1_delete" DataKeyField="id" runat="server" BackColor="WhiteSmoke"
BorderColor="#C0C0FF" ForeColor="Transparent">
<HeaderStyle BackColor="#BCBCBC"></HeaderStyle>
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="确定" CancelText="取消" EditText="编辑">
<ItemStyle Wrap="False"></ItemStyle>
</asp:EditCommandColumn>
<asp:ButtonColumn Text="删除" CommandName="delete">
<ItemStyle Wrap="False"></ItemStyle>
</asp:ButtonColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:DataGrid>

Sub DataGrid1_update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim txtid, txttypeid, txtpro_id, txtpname, txtpimageurl, txtpsprice, txtphprice, txtpaddtime, txtpintro, txtcc, txtyxq As TextBox
txtid = e.Item.Cells(3).Controls(0)
txttypeid = e.Item.Cells(4).Controls(0)
txtpro_id = e.Item.Cells(5).Controls(0)
txtpname = e.Item.Cells(6).Controls(0)
txtpimageurl = e.Item.Cells(7).Controls(0)
txtpsprice = e.Item.Cells(8).Controls(0)
txtphprice = e.Item.Cells(9).Controls(0)
txtpaddtime = e.Item.Cells(10).Controls(0)
txtpintro = e.Item.Cells(11).Controls(0)
Dim strsql As String
strsql = "update product set typeid='" & txttypeid.Text & "',pro_id='" & txtpro_id.Text & "',pname='" & txtpname.Text & "',pimageurl='" & txtpimageurl.Text & "',psprice='" & txtpsprice.Text & "',phprice='" & txtphprice.Text & "',paddtime=#" & Now() & "#,pintro='" & txtpintro.Text & "' where id=" & DataGrid1.DataKeys(CInt(e.Item.ItemIndex))
Dim conn As New SqlConnection("server=(local);database=xf;uid=sa;pwd=;")
Dim cmd As New SqlCommand(strsql, conn)
Dim exp As Exception
Try
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Catch exp
Label3.Text = "发生错误,没有正常更新记录,请重新修改!"
End Try
DataGrid1.EditItemIndex = -1
Call myDataBind()
End Sub


[此贴子已经被作者于2006-11-16 10:05:36编辑过]

搜索更多相关主题的帖子: datagrid 数据 版主 
2006-11-15 19:01
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
strsql = "update product set id='" & txtid.Text & "',typeid='" & txttypeid.Text & "',pro_id='" & txtpro_id.Text & "',pname='" & txtpname.Text & "',pimageurl='" & txtpimageurl.Text & "',psprice='" & txtpsprice.Text & "',phprice='" & txtphprice.Text & "',paddtime=#" & Now() & "#,pintro='" & txtpintro.Text & "' where id=" & DataGrid1.DataKeys(CInt(e.Item.ItemIndex))

在这样的情况下,不可以以id做为修改的条件,同时又对id进行修改。

strsql = "update product set typeid='" & txttypeid.Text & "',pro_id='" & txtpro_id.Text & "',pname='" & txtpname.Text & "',pimageurl='" & txtpimageurl.Text & "',psprice='" & txtpsprice.Text & "',phprice='" & txtphprice.Text & "',paddtime=#" & Now() & "#,pintro='" & txtpintro.Text & "' where id=" & DataGrid1.DataKeys(CInt(e.Item.ItemIndex))

这样应该可以的

飘过~~
2006-11-15 19:46
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
得分:0 

谢谢了,我再试一下吧


淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-11-16 09:13
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
得分:0 
我试了,还是不行啊,

还有没有别的方法啊?

淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-11-16 09:40
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
得分:0 

真的没有人搭理我吗?


淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-11-16 13:24
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
那你把这条SQL语句输出来,放到查询分析器中去执行一下看有没有错误?

飘过~~
2006-11-16 21:38
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
得分:0 
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
OleDbConnection Conn;
protected void Page_Load(Object Src, EventArgs E ) {
String Provider,DataBase,ConnStr,SQL;
Provider = "Microsoft.Jet.OLEDB.4.0;";
DataBase = Server.MapPath("person.mdb");
ConnStr = "Provider="+Provider+"Data Source="+DataBase;
Conn = new OleDbConnection(ConnStr);
if (!IsPostBack) BindGrid();
}
void DataGrid_Edit(Object sender,DataGridCommandEventArgs E){
dg.EditItemIndex = (int)E.Item.ItemIndex;
BindGrid();
}
void DataGrid_Cancel(Object sender,DataGridCommandEventArgs E){
dg.EditItemIndex = -1;
BindGrid();
}
void DataGrid_Update(Object sender,DataGridCommandEventArgs E){
String strSQL = "UPDATE grade SET "+
"姓名='"+((TextBox)E.Item.Cells[3].Controls[0]).Text
+"',数学="+((TextBox)E.Item.Cells[4].Controls[0]).Text
+" where 学号="+dg.DataKeys[(int)E.Item.ItemIndex];
OleDbCommand cm = new OleDbCommand(strSQL,Conn);
Conn.Open();
try {
cm.ExecuteNonQuery();
Message.InnerHtml="<b>编辑成功</b>";
// 退出编辑状态
dg.EditItemIndex=-1;
}
catch (OleDbException) {
Message.InnerHtml="编辑失败";
Message.Style["color"]="red";
}
cm.Connection.Close();
// 更新DataGrid
BindGrid();
}
// 处理删除事件
public void DataGrid_Delete(Object sender,DataGridCommandEventArgs E){
String strSQL="DELETE FROM grade WHERE 学号="
+ dg.DataKeys[(int)E.Item.ItemIndex];
OleDbCommand cm = new OleDbCommand(strSQL,Conn);
Conn.Open();
try {
cm.ExecuteNonQuery();
Message.InnerHtml = "<b>删除成功</b>";
}
catch (OleDbException){
Message.InnerHtml = "<b>删除失败</b>";
Message.Style["color"]="red";
}
Conn.Close();
BindGrid();
}
public void BindGrid() {
OleDbDataAdapter da=new OleDbDataAdapter("select * from grade",Conn);
DataSet ds = new DataSet();
da.Fill(ds);
dg.DataSource=ds;
dg.DataBind();
}
</script>
<body style="font: 10pt verdana">
<form runat="server">
<asp:DataGrid id="dg" runat="server"
Width="400" BackColor="#ccccff"
BorderColor="black" ShowFooter="false"
CellPadding=3 CellSpacing="0"
Font-Name="Verdana" Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
OnEditCommand="DataGrid_Edit"
OnCancelCommand="DataGrid_Cancel"
OnUpdateCommand="DataGrid_Update"
OnDeleteCommand="DataGrid_Delete"
DataKeyField="学号"
AutoGenerateColumns="false"
MaintainState="false">
<Columns>
<asp:EditCommandColumn EditText="编辑" CancelText="取消"
UpdateText="更新" ItemStyle-Wrap="false"/>
<asp:ButtonColumn Text="删除" CommandName="Delete" ItemStyle-Wrap="false"/>
<asp:BoundColumn HeaderText="学号" DataField="学号" ReadOnly="True"/>
<asp:BoundColumn HeaderText="姓名" DataField="姓名" />
<asp:BoundColumn HeaderText="数学" DataField="数学" />
</Columns>
</asp:DataGrid>
<span id="Message" MaintainState="false"
style="font: arial 11pt;" runat="server"/>
</form>
这个是不是你要的!
这是所有的代码!

——life is full of ups and downs!
2006-11-17 10:59
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
得分:0 

有没有VB版本的啊


淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-11-17 14:26
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
得分:0 
我先研究一下你这个,谢谢!

淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-11-17 14:26
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
得分:0 
不好意思

没有。

其实知道思路自己想就可以了,应该可以想出来的!

加油哦。

——life is full of ups and downs!
2006-11-17 19:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-103224-1-1.html




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

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