C#資料庫操作的三種經典用法:十一的部落:Xuite日誌
  • 搜尋文章
  • 關鍵字
  • yan.kee
  • 文章分類
  • 最愛連結
  • 我的發燒文
  • 累積 | 今日
    loading......
  • 參觀人氣統計
  • 誰拜訪過我
  • BLOG玩意兒
  • 最新文章
  • 最新回應
  • Re:[作品] 摳叮幫幫忙,by(11)於2008-07-21
    Re:只能在執行 Render() 的過程中調用 RegisterForEventValidation,by(11)於2008-07-03
    Re:[轉]自動清除7天以上的檔案 ,by(haoming)於2008-06-13
    Re:[kuso]尿布舞,by(11)於2008-05-18
    Re:[kuso]尿布舞,by(seth)於2008-05-18
    Re:C#中產生GUID,by(yankee)於2008-02-17
    Re:C#中產生GUID,by(jimmy)於2008-02-16
    Re:開發excel 問題討論串,by(11)於2008-02-02
    Re:Connection Strings 討論串,by(11)於2008-01-27
    Re:SQL 分頁,by(11)於2008-01-25
  • 活動
  • 到台灣玩不帶走一張發票
    ===訪客來自===
    Locations of visitors to this page
  • 日誌使用資源






  • 如何使用RSS
    Powered by Xuite
  • 最新引用
  • 沒有新引用
  • 最愛日誌
  • 2008-01-04 11:12 C#資料庫操作的三種經典用法
  • ?
  • .net文章
  • 好文轉寄
  • 平均分數:0 顆星    投票人數:0
    我要評分:
    標籤 : 


    3個方法比較典型,源碼如下:

     

     

    using System;

     

    using System.Collections.Generic;

     

    using System.Text;

     

    using System.Data;

     

    using System.Data.SqlClient;

     

    namespace DatabaseOperate

     

    {

     

     class SqlOperateInfo

     

     {

     

      //Suppose your ServerName is "aa",DatabaseName is "bb",UserName is "cc", Password is "dd"

     

      private string sqlConnectionCommand = "Data Source=aa;Initial Catalog=bb;User ID=cc;Pwd=dd";

     

      //This table contains two columns:KeywordID int not null,KeywordName varchar(100) not null

     

      private string dataTableName = "Basic_Keyword_Test";

     

      private string storedProcedureName = "Sp_InertToBasic_Keyword_Test";

     

      private string sqlSelectCommand = "Select KeywordID, KeywordName From Basic_Keyword_Test";

     

      //sqlUpdateCommand could contain "insert" , "delete" , "update" operate

     

      private string sqlUpdateCommand = "Delete From Basic_Keyword_Test Where KeywordID = 1";

     

      public void UseSqlReader()

     

      {

     

       SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);

     

       SqlCommand sqlCommand = new SqlCommand();

     

       sqlCommand.CommandType = System.Data.CommandType.Text;

     

       sqlCommand.Connection = sqlConnection;

     

       sqlCommand.CommandText = sqlSelectCommand;

     

       sqlConnection.Open();

     

       SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();

     

       while(sqlDataReader.Read())

     

       {

     

        //Get KeywordID and KeywordName , You can do anything you like. Here I just output them.

     

        int keywordid = (int)sqlDataReader[0];

     

        //the same as: int keywordid = (int)sqlDataReader["KeywordID"]

     

        string keywordName = (string)sqlDataReader[1];

     

        //the same as: string keywordName = (int)sqlDataReader["KeywordName"]

     

        Console.WriteLine("KeywordID = " + keywordid + " , KeywordName = " + keywordName);

     

       }

     

       sqlDataReader.Close();

     

       sqlCommand.Dispose();

     

       sqlConnection.Close();

     

      }

     

      public void UseSqlStoredProcedure()

     

      {

     

       SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);

     

       SqlCommand sqlCommand = new SqlCommand();

     

       sqlCommand.CommandType = CommandType.StoredProcedure;

     

       sqlCommand.Connection = sqlConnection;

     

       sqlCommand.CommandText = storedProcedureName;

     

       sqlConnection.Open();

     

       sqlCommand.ExecuteNonQuery();

     

       //you can use reader here,too.as long as you modify the sp and let it like select * from ....

     

       sqlCommand.Dispose();

     

       sqlConnection.Close();

     

      }

     

      public void UseSqlDataSet()

     

      {

     

       SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);

     

       SqlCommand sqlCommand = new SqlCommand();

     

       sqlCommand.CommandType = System.Data.CommandType.Text;

     

       sqlCommand.Connection = sqlConnection;

     

       sqlCommand.CommandText = sqlSelectCommand;

     

       sqlConnection.Open();

     

       SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();

     

       sqlDataAdapter.SelectCommand = sqlCommand;

     

       DataSet dataSet = new DataSet();

     

       //sqlCommandBuilder is for update the dataset to database

     

       SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);

     

       sqlDataAdapter.Fill(dataSet, dataTableName);

     

       //Do something to dataset then you can update it to  Database.Here I just add a row

     

       DataRow row = dataSet.Tables[0].NewRow();

     

       row[0] = 10000;

     

       row[1] = "new row";

     

       dataSet.Tables[0].Rows.Add(row);

     

       sqlDataAdapter.Update(dataSet, dataTableName);

     

       sqlCommand.Dispose();

     

       sqlDataAdapter.Dispose();

     

       sqlConnection.Close();

     

      }

     

     }

     

    }

     



    yan.kee / Xuite日誌 / 回應(0) / 引用(0) / 好文轉寄
  • 回應