現(xiàn)在的大多數(shù)應用程序都離不開數(shù)據(jù)庫來存儲數(shù)據(jù),因此,學習程序設計一定要學習數(shù)據(jù)庫編程。本文介紹了使用C#編寫數(shù)據(jù)庫控制臺程序的步驟與方法。
使用C#編寫數(shù)據(jù)庫應用程序主要有下面幾個步驟(注,本文暫未用到數(shù)據(jù)適配器和數(shù)據(jù)集,相關內(nèi)容參加以后的相關文章,并且本文暫只講解在C#中讀取相關數(shù)據(jù)的方法。):
(1)引入相關的命名空間;
(2)建立數(shù)據(jù)庫連接對象Connection,并指定連接字符串;
(3)建立命令對象Command,并指定命令對象所使用的連接和命令文本內(nèi)容(SQL)
(3)建立數(shù)據(jù)庫讀取器,DataReader;
(4)執(zhí)行命令對象,并使用DataReader對象指向結果集;
(5)使用循環(huán)語句輸出打印相關內(nèi)容;
(6)關閉命令對象和連接對象。
在C#2005中主要提供了三種用于與數(shù)據(jù)庫進行交互的模式:OleDb模式、Odbc模式和SqlClient模式,其中SqlClient模式主要是針對SQL Server而設計的,因此項目中如果要使用SQL Server數(shù)據(jù)庫的話可以選擇SqlClient模式以提高性能。
使用不同的數(shù)據(jù)庫連接模式,要引入不同的命名空間、使用不同的數(shù)據(jù)庫連接對象、命令對象和數(shù)據(jù)讀取器,使用的連接字符串,以及以后要談到的數(shù)據(jù)適配器都是不同的。
本文暫時以查詢學生的信息,并在屏幕打印輸出為例講解C#操作數(shù)據(jù)庫的具體步驟和過程。
下面給出一個數(shù)據(jù)庫操作的例子。假設在Sql Server中有一個數(shù)據(jù)庫test,其存放著一個數(shù)據(jù)表名為student,其結構為student(xh,xm,xb,mz),下面使用SqlClient模式連接數(shù)據(jù)庫:
/**************************************
*
* 本程序演示數(shù)據(jù)庫的操作
* 使用Sql Server2000數(shù)據(jù)庫操作
*
* ************************************/
using System;
using System.Data;
using System.Data.SqlClient;
class DbOper
{
static void Main()
{
//定義連接字符串
string connString;
connString="server=.;uid=sa;pwd=;database=test;";
//定義連接對象sConn
SqlConnection sConn = new SqlConnection(connString);
try
{
//打開連接
sConn.Open();
}
catch(Exception ex)
{
//給出錯誤信息
Console.WriteLine("連接錯誤:"+ex.Message);
}
//定義SQL查詢語句
string sql;
sql = "select * from student";
//定義命令對象sCmd
SqlCommand sCmd = new SqlCommand(sql,sConn);
//定義數(shù)據(jù)讀取器sdr
SqlDataReader sdr=null;
//執(zhí)行命令對象sCmd并賦值給sdr
sdr = sCmd.ExecuteReader();
//循環(huán)輸出sdr中的內(nèi)容
Console.WriteLine(" 學 號 姓名 性別民族");
while(sdr.Read())
{
Console.WriteLine(sdr[0]+" "+sdr["xm"]+sdr["xb"]+" "+sdr["mz"]);
}
//關閉數(shù)據(jù)讀取器
sdr.Close();
//關閉數(shù)據(jù)庫連接
sConn.Close();
}
}
運行結果如下:
新聞熱點
疑難解答
圖片精選