注册 登录
编程论坛 ASP.NET技术论坛

[讨论]修改不了数据

垃圾的沉默 发布于 2007-08-22 16:32, 806 次点击
<script runat="server">
private void Page_Load(Object sender , EventArgs E)
{
OleDbConnection cnn;
OleDbCommand cmd;
OleDbDataReader datar;
DataSet dt=new DataSet();
string strcnn,sql;
string theID;
int Ss;
theID=Request.QueryString["id"].Trim();
Ss=Convert.ToInt32(theID);
strcnn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../../EDNdata/EDNdata.mdb");
cnn=new OleDbConnection(strcnn);
cnn.Open();
sql="select * from keyword where id="+ Ss;
cmd=new OleDbCommand(sql,cnn);
datar=cmd.ExecuteReader();
if(datar.Read())
{
AID.Text=datar["id"].ToString();
key.Text=datar["Title"].ToString();
url.Text=datar["url"].ToString();
}
cnn.Close();
}
//---------------------------------------------------------------------------
public void save_click(Object sender , EventArgs E)
{
OleDbConnection cnn;
OleDbCommand cmd;
string strcnn,sql;
string thekey,theurl;
thekey=key.Text;
theurl=url.Text;
strcnn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../../EDNdata/EDNdata.mdb");
cnn=new OleDbConnection(strcnn);
cnn.Open();
sql="update keyword set Title='"+ thekey + "',url='" + theurl + "' where id=" + AID.Text.Trim();
cmd=new OleDbCommand(sql,cnn);
cmd.ExecuteNonQuery();
cnn.Close();
this.Page.RegisterStartupScript("", "<script>alert('添加成功')<script>");
}

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<form runat="server">
<table width="760" height="150" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="200">&nbsp;</td>
<td width="560">&nbsp;</td>
</tr>
<tr>
<td align="right">&nbsp;</td>
<td>
<asp:TextBox ID="AID" runat="server" Visible="false"></asp:TextBox>
<asp:TextBox ID="key" runat="server" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<asp:Textbox ID="url" runat="server" Width="500"></asp:Textbox>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<asp:Button runat="server" ID="button1" Text="修改" OnClick="save_click"></asp:Button>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</body>
</html>
大帮我看一下...为什么读出数据却修改不了..程序没有提示错误

[此贴子已经被作者于2007-8-22 16:33:01编辑过]

8 回复
#2
yunj11052007-08-22 18:25
你的page_load里有没有if(!ispostback)?
#3
垃圾的沉默2007-08-23 00:18

还是一样修改不了。。我用VB,,C# 都试过。。不知道哪里错。。添加数据就可以。。修改数据倒出现在了这个问题。。以前都没碰过

#4
川流不息2007-08-23 03:12
this.Page.RegisterStartupScript("", "<script>alert('添加成功')<script>");
这一句有没有提示?
#5
垃圾的沉默2007-08-23 11:49

没有..我用断点调试.运行到那里直接就跳过了

#6
ming2062007-08-23 12:16
cmd.ExecuteNonQuery();返回 int类型,。你定义一个变量接收看是什么。
#7
垃圾的沉默2007-08-23 13:51
以下是引用ming206在2007-8-23 12:16:07的发言:
cmd.ExecuteNonQuery();返回 int类型,。你定义一个变量接收看是什么。

没错..一样反回int类型...
但是我重新输入一次就可以..我真的晕了..这个也能像BCB一样..格式要求那么严吗??

#8
console2007-08-25 20:19
你更新的SQL 语句就不对
#9
bygg2007-08-26 14:24
既然语句没有错,那就应该是AID.Text.Trim();的值不对,找不到相应的ID,当然就没办法修改了,你把这个值输出到页面看一下是不是在数据库中有(注意空格)
1