多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > access > Access 使用總結(jié)一篇

Access 使用總結(jié)一篇

來源:程序員人生   發(fā)布時間:2013-12-07 12:45:55 閱讀次數(shù):2843次
如何使用Access
兩年前用過一點Access感覺它小問題很多就沒有再用這次的程序是放在千兆寬網(wǎng)的虛擬主機上這個虛擬主機不支持Sqlite讀取數(shù)據(jù)的時候是好的只要往數(shù)據(jù)庫里邊寫東西就會報錯Some Disk I/O Error Occured很神奇換了一個虛擬主機試試沒有問題說明不是我程序的問題后來只能換成Access用ADONET讀取數(shù)據(jù)庫其實都差不多主要就是一個連接字串的問題還有就是一些數(shù)據(jù)庫差異要注意

數(shù)據(jù)庫連接串

<add name=ConnectionString connectionString=data source=|DataDirectory|wemdb;Provider=MicrosoftJetOLEDB /> 連接串很簡單只需要指定DataSource就可以這里的|DataDirectory|是指的App_Data目錄的這種方式可以使我們很方便的用相對路徑來指定數(shù)據(jù)庫文件的位置這里的Provider采用Oledb驅(qū)動

使用

在程序中使用是很簡單的只是把ConnectionCommand之前的前綴換掉就可以了舉一個例子:

  復(fù)制代碼 代碼如下:

  public DataTable GetAll(string numint minint startRecord int pageSize)
{
string sql = stringFormat(select Num minPrice isUsed from PhoneNumber where Num like {}% and isUsed= num);
if (min != )
{
sql += and minPrice=@p;
}
using (OleDbConnection conn = new OleDbConnection(SqlHelperConnStr))
{
connOpen();
OleDbCommand cmd = connCreateCommand();
cmdCommandText = sql;
if (min != )
cmdParametersAddWithValue(p min);
OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
DataTable table = new DataTable();
adpFill(startRecordpageSizetable);
return table;
}
}


當(dāng)然還要添加usingusing SystemDataOleDb;
using SystemData;ADONET的處理方式都是很類似的事實上ADONET有一套以Db為前綴的ConnectionCommand等類這些具體的類都是繼承自DbConnection所以看起來都是一樣的

差異

上面提到Access是很詭異的以下列舉一些我遇到的

user 是關(guān)鍵字如果有表名或者列名是user而沒有加中括號是會出錯的當(dāng)然一致地在所有的表名和列名外加中括號是一個良好的編程習(xí)慣

直接插DateTime型的數(shù)據(jù)是會報錯的即使數(shù)據(jù)庫里的字段類型確實是Date插入的方式是把C#的DateTime型ToString()過后再插入

沒有bool型或者bit型叫yesno……

一個命令里邊不支持多條sql這個限制也很討厭每次執(zhí)行一個command的時候里面只能包含一條sql非常不方便即使是小巧如Sqlite的數(shù)據(jù)庫也沒有這個限制

參數(shù)順序的問題 聲明的參數(shù)順序必須要和你往command里邊添加參數(shù)的聲明一致否則很有可能什么錯也不報就是不影響結(jié)果(update的時候其他時候沒試過) Access真是極品數(shù)據(jù)庫啊!!例如

  復(fù)制代碼 代碼如下:

  string sql = update [user] set WorkField=@p Company=@pIC=@pContact=@pPhone=@pMobile=@pAddress=@pEmail=@pIntroduction=@p
+ where username=@p;
cmdCommandText = sql;
cmdParametersAddWithValue(p entityWorkField);
cmdParametersAddWithValue(p entityCompany);
cmdParametersAddWithValue(p entityIC);
cmdParametersAddWithValue(p entityContact);
cmdParametersAddWithValue(p entityPhone);
cmdParametersAddWithValue(p entityMobile);
cmdParametersAddWithValue(p);
cmdParametersAddWithValue(p stringIsNullOrEmpty(entityEmail)? :entityEmail);
cmdParametersAddWithValue(p stringIsNullOrEmpty(entityIntroduction)? :entityIntroduction);
cmdParametersAddWithValue(p entityUserName);
int i= cmdExecuteNonQuery();這樣是可以的但是把

cmdParametersAddWithValue(p entityUserName);


提到前面去就不行了更新不了 幸好在csdn上搜到有人也問這個問題不然都不知道怎么搞

zindex的問題
包含在其他HTML元素內(nèi)部的HTML元素的zindex只是相對于位于同一層次的元素的zindex對其父元素之外的元素的zindex沒有影響也就是說如果父元素的zindex很小比如是內(nèi)部元素的zindex很高父元素相鄰的元素的zindex是如果內(nèi)部元素溢出去了和相鄰元素重合那么被覆蓋的還是內(nèi)部元素
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 成人无遮挡免费网站视频在线观看 | 老司机福利在线播放 | 福利国产在线 | 国产内地激情精品毛片在线一 | 噜噜噜噜噜视频在线观看 | 国产aⅴ精品一区二区三区久久 | 国产第一页福利 | 国产成人一区二区三区视频免费 | 日本一区二区不卡久久入口 | 宇都宫紫苑在线观看 | 中文字幕无线码中文字幕免费 | 小说区亚洲区 | 亚洲成人一区二区 | 成人国产精品久久久免费 | 精品国产免费一区二区三区五区 | 免费福利网站 | 欧美高清3dfreexxxx性 | 东北普通话清晰对白 | 国产成人精品视频频 | 性欧美videofree丝袜 | 久久天天躁狠狠躁夜夜2020一 | 欧美激情精品久久久久久久久久 | 欧美99视频| 欧美一欧美一区二三区性 | 波多野结衣一区在线观看 | 国产精品男人的天堂 | 视频一区视频二区在线观看 | 成人国内精品久久久久影 | 亚洲精品亚洲人成在线播放 | 日本一区二区三区不卡在线视频 | 亚洲欧美日韩精品久久久 | 亚洲国产亚洲片在线观看播放 | 欧美亚洲国产另类 | 另类小说校园春色 | 精品久久一区二区 | 亚洲永久免费视频 | 中文字幕第23页 | 日本免费一区二区三区看片 | 99热国产免费| 亚洲精品综合一区二区三区 | 亚洲三级中文字幕 |