訪問Access數據庫(有多個數據庫時 體現多態)
阿新 • • 發佈:2017-05-11
.sh into img 保留 tag int32 無效 要求 oledb
如果想編寫單機版MIS、小型網站等對數據庫性能要求不高的系統,又不想安裝SQLServer,可以使用Access(MDAC),只要一個mdb文件就可以了。
使用Access創建mdb文件,建表。
OleDbConnection、OleDbCommand……,用法和SqlServer差不多。和SQLServer的區別:
一些復雜的SQL函數、語法Access不支持。
[email protected],而是使用?,new OleDbParameter("?", guid.ToString(),要按照SQL語句中?的順序添加OleDbParameter。
name和password都是保留字,最好不要用做列名,用的話加上[]
string str = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; string pName = ConfigurationManager.ConnectionStrings["connstr"].ProviderName; IDbConnection conn; if (pName == "SQLServer") { conn = new SqlConnection(str); } else if (pName == "Access") { conn = new OleDbConnection(str); } else { MessageBox.Show("無效的ProviderName!"); return; } using (conn) // 體現多態 ,誰也不知道conn是SQL的還是Access的 { if (conn.State == ConnectionState.Closed) { conn.Open(); } using (IDbCommand cmd = conn.CreateCommand()) { cmd.CommandText = "Insert into T_Person(Name,Age) Values(‘" + txtName.Text + "‘," + Convert.ToInt32(txtAge.Text) + ")"; if (Convert.ToInt32(cmd.ExecuteNonQuery()) > 0) { MessageBox.Show("增加成功!"); } } }
訪問Access數據庫(有多個數據庫時 體現多態)