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

[求助]几个热心的再帮分析下这下代码(已解决)

beblue 发布于 2007-04-20 11:22, 1042 次点击

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true" %>
<%@ import Namespace="System.Data "%>
<%@ import Namespace="System.Data.SqlClient" %>


<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>



我只是执行输入一条记录,,没有显示记录的语句,为什么显示结果时,还有把所有记录都显示出来了呢,

只有本站会员才能查看附件,请 登录

[此贴子已经被作者于2007-4-20 14:58:45编辑过]

16 回复
#2
beblue2007-04-20 11:42
SqlDataAdapter sqld = new SqlDataAdapter("select * from student", sqlcon);
是不是执行了一次这语句就会有一次结果的输出啊
#3
冰镇柠檬汁儿2007-04-20 12:03
以下是引用beblue在2007-4-20 11:42:24的发言:
SqlDataAdapter sqld = new SqlDataAdapter("select * from student", sqlcon);
是不是执行了一次这语句就会有一次结果的输出啊

不是,这句还没有执行,只是用这个定义了一个SqlDataAdapter实例

#4
beblue2007-04-20 12:07
那为什么会有结果输出呢,,是哪条语句的原因?
#5
skyland842007-04-20 12:23
dg.DataSource=ds.Tables["tabstudent"].DefaultView;
dg.DataBind();


这两条~
#6
beblue2007-04-20 12:31

这不是数据绑定吗?

#7
bygg2007-04-20 12:33

sqld.Fill(ds,"tabstudent"); //这里就把表中所有的数据放到 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); // tabstudent 数据表中又多了一条数据.
ds.Tables["tabstudent"].AcceptChanges();
sqld.Update(ds, "tabstudent");
dg.DataSource=ds.Tables["tabstudent"].DefaultView; //将 ds 中 tabstudent 表中数据赋给了 dg
dg.DataBind();

所以会全部显示.

.

#8
beblue2007-04-20 12:37

楼上的,你说的那些我都懂,我只是想知道是哪条让结果输出来了,我根本没定义啊

#9
beblue2007-04-20 13:02

//dg.DataSource = ds.Tables["tabstudent"].DefaultView;
//dg.DataBind();
晕倒,我把这两句注销掉就不会输出结果了,,,,这两句到底是做什么用的?

#10
skyland842007-04-20 13:05
不就是 将 你从数据库中获取的数据!
崩定到 显示数据的控建上吗~!?
#11
beblue2007-04-20 13:13
跟将操作后的数据更新到数据库没关系吗?
#12
冰镇柠檬汁儿2007-04-20 13:43
以下是引用beblue在2007-4-20 12:37:25的发言:

楼上的,你说的那些我都懂,我只是想知道是哪条让结果输出来了,我根本没定义啊

你懂不懂脚踏实地的道理,那些语句少了哪个都不行

#13
beblue2007-04-20 14:48
我只是想知道这两句到底是什么作用,,版主你言重了
#14
冰镇柠檬汁儿2007-04-20 14:50
dg.DataSource = ds.Tables["tabstudent"].DefaultView; //指定datagrid的数据源是什么
dg.DataBind(); //实施绑定操作
#15
beblue2007-04-20 14:54
谢谢各位帅哥美女,,,,算解决吧
#16
冰镇柠檬汁儿2007-04-20 14:58
多用几次,然后再看看相关的资料,你自然而然的就明白了
#17
beblue2007-04-20 16:38
嗯,我都是看完例题,再把例题做出来,然后做练习,呵,,
1