这篇文章只适合初学者,如果你是大虾,这篇文章就是浪费你的时间。
首先,文件->兴建->项目。项目类型: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> /// Summary description for WebForm1. /// </summary> 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 /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> 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");
我的文章就此为止。
转载
|