C# sqlserver2000

來源:互聯網
上載者:User
server|sqlserver Visual Studio.NET的中文Beta 2版本推出已有一段時日了,相比早期的Beta 1版本,新版本各方面都有很大的變化,其中包括SQL Server編程方面,在中文Beta 2中,資料庫的存取普遍改用了OLE DB的方式。由於資料庫編程是企業級應用開發的核心,本文將舉例闡述中文Bete 2版本中的SQL Server編程方法。



初始設定

首先,我們需在應用系統中安裝SQL Server 2000,Microsoft OLE DB Provider for SQL Server (SQL OLE DB)也會同時被自動安裝,接著用SQL Server的Enterprise Manager建立一個叫tyjdb的資料庫,並建立一名為address的資料表,其含name、email、age和address四個欄位。



開啟VS開發環境中的視圖選單項中的伺服器總管,該管理器可管理SQL Server及其他各種OLE DB的資料庫連接,並可以管理其中的資料。接著我們添加一個新的資料連線,串連屬性選擇Microsoft OLE DB Provider for SQL server,然後選好伺服器及資料庫tyjdb,測試連接成功後按確定。使用該工具可又快又准地產生需要的資料庫連接字串。



串連資料庫

建立一個ASP.NET項目或Windows.NET應用程式,因為二者的資料庫存取程式是相同的。將伺服器總管中的資料連線拖至建立的Web Form上即可,這時自動產生了一個連接字串如下:



this.sqlConnection1.ConnectionString

= "data source=WHOAMI;

initial catalog=tyjdb;

integrated security=SSPI;

persist security info=False;

workstation id=WHOAMI;

packet size=4096";

其中WHOAMI為筆者的伺服器名。



選取工具箱中的SqlDataAdapter並拖至該Web Form,提示時選取tyjdb的資料連線,選擇使用SQL語句訪問資料庫,產生SQL語句時只填入SELECTFROM ADDRESS,確認完成即可。程式產生代碼如下:



protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;

//存取資料庫的主要類

protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;

//SQL語句處理的類

protected System.Data.SqlClient.SqlConnection sqlConnection1;

//串連資料庫的類

在InitializeComponent()中有如下聲明:

this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();

this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();

this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();

this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;

this.sqlSelectCommand1.CommandText = "SELECT name, email, age, address FROM address";

this.sqlSelectCommand1.Connection = this.sqlConnection1;



為使Table中資料能在Web Form中顯示,加入一個DataGrid控制項至Web Form上,並在Page_Init中加入如下語句:



sqlConnection1.Open();

//開啟資料庫連接

DataSet objDataset;

//建立一個放資料的DataSet

objDataset=new DataSet();

sqlDataAdapter1.Fill(objDataset, "address");

//將資料填入DataSet

DataGrid1.DataSource=objDataset.Tables["address"].DefaultView;

//關聯DataSet和DataGrid

DataGrid1.DataBind();

//綁定資料

sqlConnection1.Close();

//關閉資料庫連接



編譯執行後Web Form已可將資料庫中資料顯示在DataGrid中了。



增加資料

若想增加資料庫資料時,我們只需在Web Form上新增對應欄位數量個數的TextBox,並新增一個按鍵,接著為該按鍵增加Click事件,具體代碼如下:



sqlInsertCommand1.Parameters["@name"].Value=TextBox1.Text;

//將TextBox賦值給對應參數

sqlInsertCommand1.Parameters["@email"].Value=TextBox2.Text;

sqlInsertCommand1.Parameters["@age"].Value=TextBox3.Text;

sqlInsertCommand1.Parameters["@address"].Value=TextBox4.Text;

sqlInsertCommand1.Connection.Open();

//開啟串連

sqlInsertCommand1.ExecuteNonQuery();

//執行Insert語句

sqlInsertCommand1.Connection.Close();

//關閉串連

sqlConnection1.Open();

DataSet objDataset;

//下面程式段更新DataGrid

objDataset=new DataSet();

sqlDataAdapter1.Fill(objDataset, "address");

DataGrid1.DataSource=objDataset.Tables["address"].DefaultView;

DataGrid1.DataBind();



執行這段程式時,只需在TextBox中填入要添加的記錄欄位的值,然後按該按鍵即可執行添加功能。



刪除資料

若想刪除資料庫資料時,我們則需在Web Form上新增一個TextBox5及一個按鍵,為該按鍵增加如下代碼:



SqlCommand sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();

//聲明Sql Command類對象

this.sqlDataAdapter1.DeleteCommand = sqlDeleteCommand1;

sqlDeleteCommand1.CommandText="DELETE FROM ADDRESS WHERE NAME='"+TextBox5.Text+"'";

//SQL語句

sqlDeleteCommand1.Connection = this.sqlConnection1;

//聲明使用的資料連線

sqlDeleteCommand1.Connection.Open();

sqlDeleteCommand1.ExecuteNonQuery();

//執行該SQL語句

sqlDeleteCommand1.Connection.Close();



執行這段程式時,只需在TextBox5中填入要刪除的記錄name欄位的值,然後按該按鍵即可執行刪除功能。



更新操作原理都類同,具體開發中可以有許多技巧豐富完善上述程式,如增加錯誤處理等,這裡限於篇幅不一一敘述了。



綜上可知,充分利用Visual Studio.NET的開發環境來簡化程式設計對提高編程效率和品質極有好處。



上述程式均用C#開發,在中文Windows 2000 Server、SQL Server 2000、Visual Studio.NET中文Beta 2環境下,編譯並正常運行,中文顯示正常。





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.