| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3946 人关注过本帖, 1 人收藏
标题:c#由浅入深代码
取消只看楼主 加入收藏
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
使用DataAdapter对象的SelectCommand属性

DataAdapter可以通过4个属性传递数据,给4个属性赋值的对象必须是command对象。如果command对象执行的是select语句,必须将对象传递给selectcommand属性;如果是update语句,则传递给updatecommand属性;如果是insert语句,则传递给insertcommand属性;如果是delete语句,则传递给deletecommand对象。

DataAdapter对象的selectcommand属性的使用范例如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace 使用DataAdapter对象的SelectCommand属性
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db1.mdb");
string strSql="select * from table1";
OleDbCommand comm=new OleDbCommand(strSql,conn);
OleDbDataAdapter da=new OleDbDataAdapter();
da.SelectCommand=comm;
conn.Open();
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataGrid1.DataSource=ds.Tables["table1"].DefaultView;
DataGrid1.DataBind();
conn.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 16:48
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
使用DataAdapter对象的InsertCommand属性

默认情况下,使用connection对象执行open方法的时候,dataadapter将自动调用selectcommand属性。除了selectcommand属性,其他3个属性需要使用ExecuteNonQuery()方法调用。
使用DataAdapter对象的InsertCommand属性如下所示:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace 使用DataAdapter对象的InsertCommand属性
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid2;
protected System.Web.UI.WebControls.DataGrid DataGrid3;
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db1.mdb");
string strInsertSql="insert into table1(姓名,语文,数学,英语) values('王小杰',56,98,89)";
string strSelectSql="select * from table1 where 学号=2";
string strUpdateSql="update table1 set 语文=99 where 姓名='王杰'";
OleDbCommand InsertCommand=new OleDbCommand(strInsertSql,conn);
OleDbCommand SelectCommand=new OleDbCommand(strSelectSql,conn);
OleDbCommand UpdateCommand=new OleDbCommand(strUpdateSql,conn);
OleDbDataAdapter da=new OleDbDataAdapter();
conn.Open();
da.SelectCommand=SelectCommand;
da.UpdateCommand=UpdateCommand;
da.InsertCommand=InsertCommand;
DataSet ds=new DataSet();
da.Fill(ds,"table1");
da.InsertCommand.ExecuteNonQuery();
da.Fill(ds,"table2");
da.UpdateCommand.ExecuteNonQuery();
da.Fill(ds,"table3");
DataGrid1.DataSource=ds.Tables["table1"].DefaultView;
DataGrid2.DataSource=ds.Tables["table2"].DefaultView;
DataGrid3.DataSource=ds.Tables["table3"].DefaultView;
DataGrid1.DataBind();
DataGrid2.DataBind();
DataGrid3.DataBind();
conn.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}



http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 16:48
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
DataSet对象

DataSet对象封装在命名空间“system.data”中,DataSet中可以包含任意数量的datatable(数据表),且每个datatable对应一个数据库中的数据表和视图。通过dataadapter的Fill()方法,将表内容填充到dataset对象中,而且可以填充多个表,利用别名来区分。
DataSet使用XML格式来储存数据,DataSet可以脱离数据源。可以利用程序创建DataSet对象,并填充内部的数据,不从数据源读取数据。
下面是DataSet对象的使用范例:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace DataSet对象
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
DataSet ds=new DataSet();
DataTable dt=new DataTable("Squares");
DataRow dr;
dt.Columns.Add(new DataColumn("数字",typeof(Int32)));
dt.Columns.Add(new DataColumn("平方",typeof(Int32)));
for(int i=0;i<10;i++)
{
dr=dt.NewRow();
dr[0]=i;
dr[1]=i*i;
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
DataGrid1.DataSource=ds.Tables["Squares"].DefaultView;
DataGrid1.DataBind();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 16:49
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
操作DataSet对象

如果DataSet对象是从数据源读取的数据,可以对DataSet对象进行添加、删除和修改等操作。

操作DataSet对象的范例如下所示:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace 操作DataSet对象
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db1.mdb");
string strSql="select * from table1";
OleDbDataAdapter da=new OleDbDataAdapter(strSql,conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
DataRow row=dt.NewRow();
row["姓名"]="小杰";
row["语文"]="65";
row["数学"]="56";
row["英语"]="45";
dt.Rows.Add(row);
OleDbCommandBuilder cb=new OleDbCommandBuilder(da);//对新加的数据进行转换
da.Update(ds,"table1");
DataGrid1.DataSource=ds.Tables["table1"].DefaultView;
DataGrid1.DataBind();
conn.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 16:56
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
DataView对象

DataView对象定义数据表的数据查看方式。数据默认的查看方式是将数据以表格的形式排列,且数据排列的顺序遵循从数据库表中取出数据时排列的顺序,可以通过DataView对象使数据按照某些规则进行显示。


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace DataView对象
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db1.mdb");
string strSql="select * from table1";
OleDbCommand comm=new OleDbCommand(strSql,conn);
OleDbDataAdapter da=new OleDbDataAdapter();
da.SelectCommand=comm;
conn.Open();
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataView dv=new DataView(ds.Tables["table1"]);
dv.RowFilter="数学>60"; //数据过滤
dv.Sort="语文 desc,数学 desc"; //按照desc进行排序
Response.Write("满足条件的记录有:"+dv.Count+"条");
DataGrid1.DataSource=dv;
DataGrid1.DataBind();
conn.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 16:57
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
使用DataView对象进行简单查询

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace 使用DataView对象进行简单查询
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db1.mdb");
string strSql="select * from table1";
OleDbCommand comm=new OleDbCommand(strSql,conn);
OleDbDataAdapter da=new OleDbDataAdapter();
da.SelectCommand=comm;
conn.Open();
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataView dv=new DataView(ds.Tables["table1"],"","姓名",DataViewRowState.CurrentRows);
int rowindex=dv.Find("王杰");
if (rowindex==-1)
Response.Write("没有找到!");
else
Response.Write(dv[rowindex]["姓名"].ToString()+dv[rowindex]["语文"].ToString());
DataGrid1.DataSource=dv;
DataGrid1.DataBind();
conn.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 16:57
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
.net连接sqlserver范例

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace WebApplication10
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection();
conn.ConnectionString=("server=localhost;database=pubs;uid=wangjie;pwd='wangjie'");
conn.Open();
Label1.Text=conn.State.ToString();
conn.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 17:35
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
关于.net连接sqlserver可能出现的问题
发这篇帖子的时候很着急的,快该吃饭了。但是为了让大家以后少犯类似的错误或遇到这样的事能够多份经验我还是决定发帖子!
我认为连接access数据库跟sqlserver数据库都是类似的学会了一种学另一种简直太简单了。
所以以前都是以连接access数据库为例子的。最近一些朋友问我连接sqlserver怎么连接。而且老是出问题。
所以诞生了今天的以及精华帖子的楼层增长了。请参考我写的《针对大家问的较多的代码公布(由于帖子较多被分页了请注意手动换页)本版旨在陪着初学者快速入门,所写代码都进行了优化与更正,让初学者可以少走弯路》越往后越精彩,本帖子将被收录进其中,因为《针对大家问的较多的代码公布(由于帖子较多被分页了请注意手动换页)本版旨在陪着初学者快速入门,所写代码都进行了优化与更正,让初学者可以少走弯路》楼层越多了以后被朋友找到的几率将变小。而本帖也有一定的意义。好多新手说他都对连接sqlserver产生了恐惧心理了。呵呵!
那么不怕,不怕。
好了废话不多说了!
我也遇到过类似的问题:
看如下代码:
SqlConnection conn=new SqlConnection();
conn.ConnectionString=("server=localhost;database=pubs;uid=wangjie;pwd='wangjie'");
conn.Open();
Label1.Text=conn.State.ToString();
conn.Close();
出错代码如下所示:

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

SQL Server 不存在或访问被拒绝。


看了以上的代码你会有什么反应呢?
我的第一反应就是晕!而不是高手救我。真的不知道我哪里错了。真的我是如此的自信。
为什么会出现这样的问题呢?
我的第一反映网络的问题。
我说经过吧,代码没有保存下来。抱歉!
开始 运行 cmd
ping localhost ping 不通ping 127.0.0.1通了
难道是dns的问题。这时候想起hosts文件而且我的dns没有配置因为垃圾网管说不用配置,只需要填写代理跟子网掩码就可以。
原来如此!我把localhost改成127.0.0.1 ok了
心里万分的高兴,但我高兴过早了。
等我把139启用(netbios启用)了以后dns也不用配置,因为不用配置,网管也不知道dns该填写什么,反正用代理嘛,不添也能上网。我晕的起不来了呵呵!以前好象把hosts文件删了也没有问题,曾经看到一篇域名欺骗的文章才了解了hosts文件的功能是域名转换,现在遇到类似的问题了。呵呵!看来知识还是很重要的啊!
建议把hosts文件备份然后删除试试。我就不试了饿死了。
以后大家遇到类似的问题可以把localhost换成127.0.0.1试试!
当然连接sqlserver还会遇到其他的问题,这里就先不归类了因为太多的可能了。以后有时间再说吧!
原谅我的这次吧。别扔机蛋就行了,扔点钻石之类的多好!


http://zdrjwlb.bulo. QQ群:1659819
2005-11-25 17:59
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
不用客气拉,希望有问题多交流!多帮助帮助别人就可以了!

http://zdrjwlb.bulo. QQ群:1659819
2005-11-26 20:09
王杰
Rank: 2
等 级:新手上路
威 望:4
帖 子:307
专家分:0
注 册:2005-5-13
收藏
得分:0 
我也学过,有什么问题可以提出来相互探讨,为了节省空间我没有装,不过也不是很麻烦的,就当是复习好了。我们欢迎真正的技术爱好者!

http://zdrjwlb.bulo. QQ群:1659819
2005-11-28 15:04
快速回复:c#由浅入深代码
数据加载中...
 
   



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

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