橋梁資料庫
Ⅰ c#連接資料庫的幾種方式
第一種方法:直接通過資料庫的用戶名、密碼等連接到資料庫進行資料庫連接。
如:private void sqlconn()
{
SqlConncetion conn = new SqlConnection("SERVER=.;DATABASE=pubs;PWD=;UID=sa;");
SqlConncetion cmd = new SqlCommand("SELECT*FROM [table]",cmd);
DataSet ds = new DataSet();
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
}
其中SqlConnection 是資料庫連接類,SqlDataAdapter是數據適配器,SqlCommand是數據操作命令,即執行SQL語言。
說明,使用SqlConnection進行資料庫的連接,然後使用SqlCommand定義SQL查詢語句,再定義一個DataSet存儲查詢的結果,而SqlDataAdapter是資料庫和DataSet的轉換橋梁。
第二種方法:通過ConfigurationManager.ConnectionString獲取資料庫的配置信息。進行資料庫的連接。
如:public static int ExcuteNonQuery(string sql,params SqlParameter[] parameters)
{
string connStr = configurationManager.ConnectionStrings["ConnStr"].ConncetionString;
using(SqlConncetion conn=new SqlConnection(connStr))
{
conn.open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach(SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
說明:
(1) 通過string connStr=ConfigurationManager.ConnectionString[「ConnStr」].ConnectionString;獲得資料庫連接的一些配置信息,即「數據源」、「資料庫名」、「用戶名」、「密碼」,將這些信息都保存在connStr中。
(2) SqlConnection conn = new SqlConnection(connStr);創建一個資料庫連接對象conn,連接資料庫用conn.Open();
(3) SqlCommand cmd = new SqlCommand(「Select * Form [表]」,conn);
或者string sql = 「Select * From [表]」;
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;這樣就把訪問資料庫的SQL語句存到了cmd中
(4) 建立SqlDataAdapter對象和DataSet對象
DataSet myDataSet = new DataSet();創建DataSet對象,
SqlDataAdapter myDataAdapter = new SqlDataAdapter(cmd);創建數據適配器對象。
(5) 填充DataSet:myDataAdapter.Fill(myDataSet);其實SqlDataAdapter數據適配器起的就是一個連接資料庫和數據集(DataSet)的橋梁作用,把對資料庫操作的SQL語句得到的結果傳到SqlDataAdapter對象中,在通過SqlDataAdapter.Fill(DataSet)方法,將結果填充到DataSet中。
第三種方法:用工廠方法
DbProviderFactory m_dbProviderFactory = DbProviderFactories.GetFacory(ConfigurationManager.ConnectionString[「ConStr」].ProviderName);//獲取工廠
DbConnection conn = m_dbProviderFactory.CreateConncetion();//創建連接
DbCommand cmd = m_dbProviderFactory.CreateCommand();//創建命令
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType = CommandType.Text;
DbDataAdapter dapter = m_dbProviderFactory.CreateDataAdapter();//創建適配器
dapter.SelectCommand = cmd;
dapter.Fill(DataSet ds = new DataSet());//填充
return ds;
說明:
上面的語句中用ConfigurationManager.ConnectionString[「ConStr」].ProviderName獲取了當前資料庫的名稱,因此可以適用於任何資料庫,如果這樣寫,就是不同的資料庫使用不同的語言:
SqlServer:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
Oracle:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
ODBC:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.Odbc");
Access:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
Ⅱ 資料庫,數據源的關系
資料庫是一個數據的工廠,可以理解成產品的生產廠家,
如果你從廠家租用東西,廠家就馬上找人開工,啟動設備,等生產好之後,發貨給你。當然整個生產過程需要比較長的時間。
數據源,是一個產品代理倉庫,代理那裡原來就有一些生產好的產品了,所以你從代理獲取產品,可以馬上就得到。當然代理的倉庫也是有大小限制的。
無論哪種情況,你用完了某個產品,記得要歸還哦。
Ⅲ 如何用mysql實現ODBC(JDBC橋)連接資料庫
步驟(1):載入要使用的資料庫尺豎戚驅動程序類,該工作由Class類的靜態方法forName完成,他載入向相應的驅動程序類,並創建該陵陵類的一個實例。載入JDBC-ODBC橋驅動類採用如下語句:
Class.forName("classname");
(2):聲明一個Connection介面的對象。如:
Connection conn;
(3)並使用driverManager類的靜態方法getConnection建立資料庫連接,該方法主要有兩種重載形式:
Connection getConnection(String url);
Connection getConnection(String url,String user,String password)
例子:
import java.sql.Connection;
import java.sql.DriverManager;
public class Conn {
// 非鏈接池
public static Connection getConn() {
// 建立連接對象
Connection conn = null;
// 說明JDBC驅動類所在位置的字元串,與驅動所在目錄對應。
String driver = "com.mysql.jdbc.Driver";
// MySQL的JDBC URL 字元串
// 連接到本地主機,埠為3306,資料庫為mysql,
String sourse = "jdbc:mysql://127.0.0.1:3306/dq?characterEncoding=utf-8"纖高;
try {
// 初始化MySQL的JDBC橋驅動類
Class.forName(driver);
// 使用DriverManager類的getConnection方法建立連接。url=sourse,用戶名為root,密碼為空。
conn = DriverManager.getConnection(sourse, "root", "");
} catch (Exception e) {
System.out.println(e.toString());
}
// 返回連接對象
return conn;
}
public static void main(String[] args) {
System.out.println(Conn.getConn());
}
}
// import java.sql.*;
//
// public class mysqlDEMO{
// public static void main(String []args)throws Exception{
// //說明JDBC驅動類所在位置的字元串,與驅動所在目錄對應
// String mysqldriver="org.mm.mysql.Driver";
// //MySQL的JDBC URL字元串
// //連接到本地主機,埠為3306,資料庫為mysql,用戶名為root,密碼為空。
// String url="jdbc:mysql://localhost:3306/mysql?user=root;password=";
// //建立連接對象
// Connection conn;
// //初始化MyJDBC的JDBC橋驅動類
// Class.forName(mysqldriver);
// //使用DriverManager類的getConnection方法建立連接
// conn=DriverManager.getConnection(url,"","");
// }
// } 驅動需要載入