天天看點

幾種常見的資料庫連接配接方法

一、連接配接Access資料庫
  1.使用已有DSN的連接配接字元串進行連接配接(ODBC)
//導入命名空間
using System.Data.Odbc;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  String cnotallow=@"DSN=sample";
  //執行個體化Connection對象
  OdbcConnection myConnection = new OdbcConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OdbcCommand myCommand = new OdbcCommand("select * from sampletable",myConnection);
  //将查詢的結果賦給GridView的資料源
  gv.DataSource = myCommand.ExecuteReader();
  //綁定GridView
  gv.DataBind();
  //關閉連接配接
  myConnection.Close();
}
  2.使用無DSN的連接配接字元串進行連接配接(ODBC)
//導入命名空間
using System.Data.Odbc;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  String cnotallow=@"Driver=Microsoft Access Driver (*.mdb);Dbq=c:\sample.mdb;";
  //執行個體化Connection對象
  OdbcConnection myConnection = new OdbcConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OdbcCommand myCommand = new OdbcCommand("select * from sampletable",myConnection);
  //将查詢的結果賦給GridView的資料源
  gv.DataSource = myCommand.ExecuteReader();
  //綁定GridView
  gv.DataBind();
  //關閉連接配接
  myConnection.Close();
}
  3.使用連接配接字元串進行連接配接(OLEDB)
OLEDB.NET Data Provider 支援的OLEDB Provider:
SQLOLEDB:用來通路SQL Server資料庫
MSDAORA:用來通路Oracle資料庫
Microsoft.Jet.OLEDB.4.0:用來通路Access資料庫。
//導入命名空間
using System.Data.OleDb;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  String cnotallow=@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\sample.mdb;";
  //執行個體化OleDbConnection對象
  OleDbConnection myConnection = new OleDbConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OleDbCommand myCommand = new OleDbCommand("select * from sampletable",myConnection);
  //将查詢的結果賦給GridView的資料源
  gv.DataSource = myCommand.ExecuteReader();
  //綁定GridView
  gv.DataBind();
  //關閉連接配接
  myConnection.Close();
}
  4.使用UDL檔案進行連接配接
使用UDL檔案連接配接資料源的步驟如下:
(1)建立一個記事本,其擴充名為.udl。
(2)輕按兩下該UDL檔案,彈出“資料連接配接屬性”對話框。
(3)該對話框首頁顯示“提供程式”頁籤,選擇要使用的OLEDB提供程式。
(4)單擊“下一步”,顯示"l連接配接“頁籤”,設定好正确的參數後,單擊“測試連接配接”。
使用連接配接字元串
//導入命名空間
using System.Data.OleDb;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  String cnotallow=@"FILE NAME=c:\oledb.udl";
  //執行個體化OleDbConnection對象
  OleDbConnection myConnection = new OleDbConnection(connstr);
  //執行Open方法打開連接配接
 myConnection.Open();
  //執行SQL語句
  OleDbCommand myCommand = new OleDbCommand("select * from sampletable",myConnection);
  //将查詢的結果賦給GridView的資料源
  gv.DataSource = myCommand.ExecuteReader();
  //綁定GridView
  gv.DataBind();
  //關閉連接配接
  myConnection.Close();
}
  二、連接配接MySQL資料庫  1.使用已有DSN的連接配接字元串進行連接配接
//導入命名空間
using System.Data.Odbc;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  String cnotallow=@"DSN=MySQL";
  //執行個體化Connection對象
  OdbcConnection myConnection = new OdbcConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OdbcCommand myCommand = new OdbcCommand("select * from Names",myConnection);
  //将查詢的結果賦給GridView的資料源
  gv.DataSource = myCommand.ExecuteReader();
  //綁定GridView
  gv.DataBind();
  //關閉連接配接
  myConnection.Close();
}
  2.使用無DSN的連接配接字元串進行連接配接
//導入命名空間
using System.Data.Odbc;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  String cnotallow=@"Driver=MySQL ODBC 3.51 Driver;Server=localhost;Database=test;UID=root;PWD=yourpassword;Optinotallow=3;Port=3306";
  //執行個體化Connection對象
  OdbcConnection myConnection = new OdbcConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OdbcCommand myCommand = new OdbcCommand("select * from Names",myConnection);
  //将查詢的結果賦給GridView的資料源
  gv.DataSource = myCommand.ExecuteReader();
  //綁定GridView
  gv.DataBind();
  //關閉連接配接
  myConnection.Close();
}
  三、連接配接Oracle資料庫
  1.使用Oracle.NET Data Provider(需要安裝Oracle用戶端)
//導入命名空間
using System.Data.OracleClient;

public void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  string connstring = @"Data Source=oraclesample;User ID=oracleid;Password=oraclepwd;";
  //執行個體化OracleConnection對象
  OracleConnection conn = new OracleConnection(connstring);
  //打開連接配接
  connn.Open();
}
  2.使用ODBC.NET Data Provider
//導入命名空間
using System.Data.Odbc;

public void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  string connstring = @"Driver=Microsoft ODBC for Oracle;Server=oraclesample;Persisit Security Info=False;Trusted_Cnotallow=yes;";
  //執行個體化OracleConnection對象
  OdbcConnection conn = new OdbcConnection(connstring);
  //打開連接配接
  connn.Open();
}
3.使用OLE DB.NET Data Provider
//導入命名空間
using System.Data.Oledb;

public void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  string connstring = @"Provider=MSDAORA;Data Source=oraclesample;Persisit Security Info=False;Integrated Security=yes;";
  //執行個體化OracleConnection對象
  OleDbConnection conn = new OleDbConnection(connstring);
  //打開連接配接
  connn.Open();
}
  四、通路Excel  1.使用ODBC.NET Data Provider通路Excel
using System.Data.Odbc;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  string connstr = @"Driver=Microsoft Excel Driver(*.xls);Dbq=c:\excelsample.xls;";
  //執行個體化OdbcConnection對象
  OdbcConnection myConnection = new OdbcConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OdbcCommand myCommand = new OdbcCommand("select * from [Sheet1$]",myConnection);
  //用GridView來顯示資料
  gv.DataSource = myCommand.ExecuteReader();
  gv.DataBind();
  //調用Close方法關閉連接配接
  myConnection.Close();
}
注:ConnectionString屬性為Driver(驅動器名),Dbq ( 通路Excel時使用的SQL語句與通路資料庫時使用的語句奏本相同,隻是from後面的表名的寫法不同,如"select  * from [Sheet1$],表示通路的是Shee表,若要通路Sheet2,Sheet3,替換SQL語句中的Sheetl即可。

  2.使用OLE DB.NET Data Provider通路Excel
using System.Data.OleDb;

protected void Page_Load(Object sender,EventArgs e)
{
  //設定連接配接字元串
  string connstr = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\excelsample.xls;Extened Properties=Excel 8.0;";
  //執行個體化OdbcConnection對象
  OleDbConnection myConnection = new OleDbConnection(connstr);
  //執行Open方法打開連接配接
  myConnection.Open();
  //執行SQL語句
  OleDbCommand myCommand = new OleDbCommand("select * from [Items$]",myConnection);
  //用GridView來顯示資料
  gv.DataSource = myCommand.ExecuteReader();
  gv.DataBind();
  //調用Close方法關閉連接配接
  myConnection.Close();
}
注:Conn}ctionString屬性為Provider(提供程式名),Data Source(Excel文家愛女實際路徑名),Extended Properties(附加屬性)。其中,Extended Properties制定一些附加的屬性,如Excel的版本(本例為Excel 8.0)和HDR值。HDR=Yes表示表格的第一行為标題,應用程式使用SQL語句查詢時不會選擇第一行的内容;HDR=No則表示應用程式會把表格中所選的全部内容(包括第一行)查詢出來。
  五、通路Txt檔案  1.使用ODBC.NET Data Provider
string connstr = @"Driver=Microsoft Text Driver(*.txt;*.csv);Dbq=c:\samplepath\;Extensinotallow=asc,csv,tab,txt;";
OdbcConnection myConnection = new OdbcConnection(connstr);
OdbcCommand myCommand = new OdbcCommand("select * from txtsample.txt",myConnection);
  2.使用OLE DB.NET Data Provider
string connstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\samplepath\;Extended Properties=**text;HDR=Yes;FMT=Delimited""";
OleDbConnection myConnection = new OleDbConnection(connstr);
OleDbCommand myCommand = new OleDbCommand("select * from txtsample.txt",myConnection);
  3.使用System.IO命名空間
  System.IO命名空間包含的主要類:
       File:提供用于建立、複制、删除、移動和打開檔案的靜态方法(即不需要建立類的執行個體,可直接調用類的方法)。
       FileInfo:提供建立、複制、删除、移動和打開檔案的執行個體方法(即需要建立類的執行個體,才能調用類的方法)。
       StreamReader:從資料流中讀取字元。
       StreamWriter:從資料流中寫入字元。
 File類包含的主要方法
      OpenText:打開現有的txt檔案以進行讀取。
      Exists:确定制定的檔案是否存在。
      CreateText:建立或打開一個檔案用于寫入。
      AppendText:将txt文本追加到現有檔案。
<%@Import Namespace="System.IO"%> 
<script language="C#" runat="server">
    protected void Page_Load(Object sender, EventArgs e)
    {
        Response.Write("<h3>"+"讀取Txt檔案的簡單示例"+"<br></h3>");
        //建立StreamReader類的對象
        StreamReader objstreamreader; 
        string filecont;
        //打開現有的txt檔案并将其指派給StreamReader對象
        objstreamreader =File.OpenText(@"c:\txtsample.txt");
        //循環調用ReadLine方法讀取txt文本,直至讀完,并将結果顯示在窗體中
          while(objstreamreader.Peek()!=-1) 
        {
            filecont = objstreamreader.ReadLine();
            Response.Write(filecont+"<br>");
        }
        //讀取完成,關閉StreamReader類的對象
        objstreamreader.Close();
    }
</script>
注:StreamReader的Peek方法能夠傳回制定StreamReader對象流中的下一個字元,但不把該字元從流中删掉;如果流中不再有文本字元可讀,則傳回-1。
<%@Import Namespace="System.IO"%> 
<script language="C#" runat="server">
    protected void Page_Load(Object sender, EventArgs e)
    {
        Response.Write("<h3>"+"讀取Txt檔案的簡單示例"+"<br></h3>");
        //定義建立txt文本的路徑
        string FILE_NAME = @"c:\sample.txt";
        //如果txt檔案已存在,報錯;否則,執行寫操作
        if (!File.Exists(FILE_NAME))
        {
            //建立SreamWriter對象
            StreamWriter objstreamwriter;
            //建立txt檔案并将其指派給StreamWriter對象
            objstreamwriter = File.CreateText(FILE_NAME);
            //調用ReadLine方法向txt文本中寫入一行字元
            objstreamwriter.WriteLine("Writing text successfully!");
            //寫入完成,關閉StreamWriter類的對象
            objstreamwriter.Close();
        }
        else
        {
            Response.Write("已經存在此檔案!");
        }        
    }
</script>


    龍騰一族至尊龍騎