ITPub博客

首页 > 应用开发 > IT综合 > 在vs.net bate 2中的ado.net简单编程(傻瓜版) (转)

在vs.net bate 2中的ado.net简单编程(傻瓜版) (转)

原创 IT综合 作者:gugu99 时间:2007-11-02 13:48:06 0 删除 编辑
在vs.net bate 2中的ado.net简单编程(傻瓜版) (转)[@more@]

  这篇文章只适合初学者,如果你是大虾,这篇文章就是浪费你的时间。

首先,文件->兴建->项目。项目类型:C#ASP.NET应用程序

在工具箱中拖一个sqldataadapter到webform窗口中。

向导先点下一步,新建连接,在连接标签下,选取一个可用的服务器和可用的sqlserver数据库,确定。

然后配置查询生成器(太简单就不说了)。完成。

在webform中点击sqldataadapter1在属性栏的下面点生成数据集。单选框用新建,确定。

至此,和数据库的连接工作基本搞定了,让我们来操作它吧。

拖一个datagrid到webfoRM 窗口。属性生成器中选好数据源(我们只有一个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;

namespace WebApplication1
{
 ///


 /// Summary description for WebForm1.
 ///

 public class WebForm1 : System.Web.UI.Page
 {
 protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
 protected System.Data.SqlClient.SqlCommand sqlselectCommand1;
 protected System.Data.SqlClient.SqlCommand sqlInsertCommand1;
 protected System.Data.SqlClient.SqlConnection sqlConnection1;
 protected System.Web.UI.WebControls.DataGrid DataGrid1;
 protected System.Web.UI.WebControls.Button Button1;
 protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter2;
 protected System.Data.SqlClient.SqlCommand sqlSelectCommand2;
 protected System.Data.SqlClient.SqlCommand sqlInsertCommand2;
 protected System.Data.SqlClient.SqlCommand sqlUpdateCommand1;
 protected System.Data.SqlClient.SqlCommand sqlDeleteCommand1;
 protected System.Data.SqlClient.SqlConnection sqlConnection2;
 protected System.Web.UI.WebControls.DataGrid DataGrid2;
 protected WebApplication1.DataSet1 dataSet11;
 
 public WebForm1()
 {
 Page.Init += new System.EventHandler(Page_Init);
 }

 private void Page_Load(object sender, System.EventArgs e)
 {
 // Put user code to initialize the page here
 }

 private void Page_Init(object sender, EventArgs e)
 {
 //
 // CODEGEN: This call is required by the ASP.net Web Form Designer.
 //
 InitializeComponent();
 //填充数据集 

 sqlDataAdapter1.Fill (dataSet11);

//绑定
 DataGrid1.DataBind ();
 
 } #region Web Form Designer generated code
 ///


 /// Required method for Designer support - do not modify
 /// the contents of this method with the code editor.
 ///

 private void InitializeComponent()

 #endregion

 }

生成程序,如果正常的话你应该可以在datagrid看到你的数据了。

如果你对操作的数据有更高的要求的话(前提是会sql语句),你可以点饥前面绿色代码前的小加号,修改下面的兰色代码。
 private void InitializeComponent()
 { 
 this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
 this.dataSet11 = new WebApplication1.DataSet1();
 this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
 this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
 this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
 this.sqlDataAdapter2 = new System.Data.SqlClient.SqlDataAdapter();
 this.sqlSelectCommand2 = new System.Data.SqlClient.SqlCommand();
 this.sqlInsertCommand2 = new System.Data.SqlClient.SqlCommand();
 this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
 this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
 this.sqlConnection2 = new System.Data.SqlClient.SqlConnection();
 ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit();
 this.Button1.Click += new System.EventHandler(this.Button1_Click);
 //
 // sqlConnection1
 //
 this.sqlConnection1.ConnectionString = "data source=(local);initial catalog=xr;integrated security=SSPI;persist security " +
 "info=False;workstation id=XURUI;packet size=4096";
 //
 // dataSet11
 //
 this.dataSet11.DataSetName = "DataSet1";
 this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN");
 this.dataSet11.Namespace = "http://www.tempuri.org/DataSet1.xsd";
 //
 // sqlInsertCommand1
 //
 this.sqlInsertCommand1.CommandText = "INSERT INTO store(zipcode, area, name) VALUES (@zipcode, @area, @name); SELECT zi" +
 "pcode, area, name FROM store";
 this.sqlInsertCommand1.Connection = this.sqlConnection1;
 this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@zipcode", System.Data.SqldbType.Char, 10, System.Data.ParameterDirection.Input, true, ((System.Byte)(0)), ((System.Byte)(0)), "zipcode", System.Data.DataRowVersion.Current, null));
 this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@area", System.Data.SqlDbType.Char, 10, System.Data.ParameterDirection.Input, true, ((System.Byte)(0)), ((System.Byte)(0)), "area", System.Data.DataRowVersion.Current, null));
 this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.Char, 10, System.Data.ParameterDirection.Input, true, ((System.Byte)(0)), ((System.Byte)(0)), "name", System.Data.DataRowVersion.Current, null));
 //
 // sqlSelectCommand1
 //
 this.sqlSelectCommand1.CommandText = "SELECT zipcode, area, name FROM store ";
 this.sqlSelectCommand1.Connection = this.sqlConnection1;
 //
 // sqlDataAdapter1
 //
 this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1;
 this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
 this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  new System.Data.Common.DataTableMapping("Table", "store", new System.Data.Common.DataColumnMapping[] {....................................

...........................

你可以根据自己的需要生成数据集。

加入新列你可以这样做:

 DataTable dt;//定义一个表(废话)
 dt=dataSet11.Tables ["你的表"];//给表付值

 DataRow dr;
 dr=dt.NewRow ();//新元组
 dr.BeginEdit ();
 dr["属性1"]= ;

dr["属性2"]=;

dr["属性3"]=;

  dr.EndEdit ();
 dt.Rows.Add (dr);//加入元组
 DataGrid1.DataBind ();//把改变在datagrid中表示出来,不写也可以但是没现象了。
 修改的代码:

dr= tblAuthors.Rows.Find("213-46-8915");//找到元组(缺省为找主码)
dr.BeginEdit();
dr["属性1"] = "342" ;

 dr("属性2")=“2342”;

dr.EndEdit()

删除代码:

drCurrent = tblAuthors.Rows.Find("993-21-3427");
drCurrent.Delete();

以上的操作只是对数据集 如果你要把改变保存回数据库还要添一句:

sqlDataAdapter1.Update (dataSet11,"store");

我的文章就此为止。

由于做设计的缘故,我现在对ADO. net很有兴趣,如果有人想讨论,eMail:

xurui_@hotmail.com


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-980461/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3122
  • 访问量
    2251792