| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1113 人关注过本帖
标题:[求助]为什么提交不了数据库呢,已解决呢(答案在20楼)
只看楼主 加入收藏
beblue
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-3-24
收藏
 问题点数:0 回复次数:19 
[求助]为什么提交不了数据库呢,已解决呢(答案在20楼)

下面是通过DataSet在student数据表中增加一个记录的代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true" %>
<%@ import Namespace="System.Data "%>
<%@ import Namespace="System.Data.SqlClient" %>
<html>

<head runat="server">
<title>无标题页</title>
</head>
<script language="c#" runat="server" >
void page_load(object serder,EventArgs e)
{
SqlConnection sqlcon=new SqlConnection("Data Source=127.0.0.1;uid=sa;pwd=;Initial Catalog=chapter");
DataSet ds=new DataSet();
sqlcon.Open();
SqlDataAdapter sqld=new SqlDataAdapter("select * from student",sqlcon);
SqlCommandBuilder objcmdbld=new SqlCommandBuilder(sqld);
sqld.Fill(ds,"tabstudent");
DataRow drow;
drow=ds.Tables["tabstudent"].NewRow ();
drow[0]="97070705";
drow[1]="huang";
drow[2]=30;
drow[3]="bejing";
ds.Tables["tabstudent"].Rows.Add(drow);
ds.Tables["tabstudent"].AcceptChanges();
sqld.Update(ds, "tabstudent");
dg.DataSource=ds.Tables["tabstudent"].DefaultView;
dg.DataBind();
sqlcon.Close();
sqlcon=null;
labContent.Text+="添加记录成功";

}

</script>
<body>
<form id="form1" runat="server">
<asp:DataGrid ID="dg" runat="server" /><br />

<asp:Label ID="labContent" runat="server" /><br />

</form>
</body>
</html>


成功运行后结果如下:


图片附件: 游客没有浏览图片的权限,请 登录注册



然后我再用以下代码查找数据库表记录:

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>实验(5)-显示所有用户的情况</title>
</head>
<script language="c#" runat="server" >
void page_load(object serder, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection("Data Source=127.0.0.1;uid=sa;pwd=;Initial Catalog=chapter");
DataSet ds = new DataSet();
sqlcon.Open();
SqlDataAdapter sqld = new SqlDataAdapter("select * from student", sqlcon);
sqld.Fill(ds, "tabstudent");
dg.DataSource = ds.Tables["tabstudent"].DefaultView;
dg.DataBind();
sqlcon.Close();
sqlcon = null;
labContent.Text += "查找成功";
}

</script>

<body>
<form id="form1" runat="server">
<asp:DataGrid ID="dg" runat="server" /><br />
<asp:Label ID="labContent" runat="server" /><br />
</form>
</body>
</html>
结果如下:

图片附件: 游客没有浏览图片的权限,请 登录注册



发现刚刚先提交的记录并没有更新到数据库表中啊,这是为什么,哪里错了呢

我的数据库名为chapter,,表student,,字段说明如下
studentid char(8)

name char(10)

age int (4)

address varchar(50)




问题转移到十七楼

[此贴子已经被作者于2007-4-24 23:38:45编辑过]

搜索更多相关主题的帖子: 数据库 
2007-04-20 16:46
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
我倒是见到过像楼主这么写添加修改记录的,可是我从来都没这么写过,因为它影响程序的效率,也是一般有经验的程序员不会用到的方式

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2007-04-20 16:53
beblue
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-3-24
收藏
得分:0 

嗯,我还没学到通过WEB输入再提交数据的那里,,


我一步一步来的,,帮我看看上面的问题吧,,PL版主


继续向前-------------------努力成为高手
2007-04-20 16:59
song505
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-9
收藏
得分:0 

我好象没有看到你有把数据更新到数据库的代码,而你第二段代码却是从数据库里读取出来的.当然会没有了.你只是把数据添加到DS里面了,应该还要加上写入数据库的语句.
ds.Tables["tabstudent"].Rows.Add(drow)
ds.Tables["tabstudent"].AcceptChanges();
sqld.Update(ds, "tabstudent"); //这里只是更新了DS表,DS表是一个内存中的数据库

dg.DataSource=ds.Tables["tabstudent"].DefaultView;
dg.DataBind();
sqlcon.Close();
sqlcon=null;
labContent.Text+="添加记录成功";


2007-04-20 17:20
beblue
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-3-24
收藏
得分:0 
ds.Tables["tabstudent"].Rows.Add(drow);
ds.Tables["tabstudent"].AcceptChanges();
sqld.Update(ds, "tabstudent");
dg.DataSource=ds.Tables["tabstudent"].DefaultView;
dg.DataBind();
sqlcon.Close();
sqlcon=null;
labContent.Text+="添加记录成功";

楼上的,你的语句我已经加了,,,

谁再帮我看看啊,

继续向前-------------------努力成为高手
2007-04-20 17:38
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
看来这次我是帮不了你了,楼主,我只会用sql写,并且我知道写sql这样的效率很高

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2007-04-20 17:42
beblue
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-3-24
收藏
得分:0 
我倒,,我就是在等你过来解决啊,,等了一下午


还有谁来照顾下新手啊,

继续向前-------------------努力成为高手
2007-04-20 17:43
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 

drow=ds.Tables["tabstudent"].NewRow ();
drow[0]="97070705";
drow[1]="huang";
drow[2]=30;
drow[3]="bejing";
ds.Tables["tabstudent"].Rows.Add(drow);
会不会是因为30没有加双引号呢

如果不是请告诉我你要插入的表的字段名和字段的类型,只要你需要插入的字段的信息

[此贴子已经被作者于2007-4-20 17:53:11编辑过]


本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2007-04-20 17:51
beblue
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-3-24
收藏
得分:0 

studentid char(8)

name char(10)

age int (4)

address varchar(50)


继续向前-------------------努力成为高手
2007-04-20 17:59
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 

SqlConnection sqlcon=new SqlConnection("Data Source=127.0.0.1;uid=sa;pwd=;Initial Catalog=chapter");
sqlcon.Open();

string strInsert = "insert into tabstudent(studentid, name, age, address) values('97070705', 'huang', 30, 'bejing')";
SqlCommend myComm = new SqlCommend(strInsert, sqlcon);

myComm.ExecuteNonQuery();

sqlcon.Close();

labContent.Text+="添加记录成功";

最后再绑定DataGrid就可以了

[此贴子已经被作者于2007-4-20 18:10:16编辑过]


本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2007-04-20 18:09
快速回复:[求助]为什么提交不了数据库呢,已解决呢(答案在20楼)
数据加载中...
 
   



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

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