日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > access > Access 使用總結一篇

Access 使用總結一篇

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

數據庫連接串

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

使用

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

  復制代碼 代碼如下:

  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;
}
}


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

差異

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

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

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

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

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

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

  復制代碼 代碼如下:

  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元素內部的HTML元素的zindex只是相對于位于同一層次的元素的zindex對其父元素之外的元素的zindex沒有影響也就是說如果父元素的zindex很小比如是內部元素的zindex很高父元素相鄰的元素的zindex是如果內部元素溢出去了和相鄰元素重合那么被覆蓋的還是內部元素
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲男人天堂2024 | 亚洲福利精品 | 精品一区二区三区久久 | 国产精品亚洲视频 | 麻豆传媒免费 | www.日韩高清 | 精品永久免费 | 91精品国产综合久久久久久久久 | 久久国产精品视频免费看 | 国产精品久久久久一区二区 | 美女视频一区二区 | 欧美在线播放 | 国产山村乱淫老妇av色播 | 国产成人在线播放 | a黄色| 亚洲欧美在线播放 | 麻豆视频在线免费观看 | 欧美精品成人一区二区在线观看 | 国产专区精品 | 日日操天天操夜夜操 | 久久一区二区三区欧美 | 爱爱的网站| 日韩视频一区二区三区四区 | 污网站在线看 | 久久精品亚洲一区二区 | 亚洲成人精品一区 | 综合久久久久久久 | 成人网址在线观看 | 久久福利精品 | 黄色毛片毛茸茸 | 精品久久久一区二区 | 久久99精品久久久久久琪琪 | 精品久久久久久亚洲 | 成人国产精品视频 | 亚洲色图p | 亚洲精品不卡 | 国产精品综合一区二区 | 毛片国产 | 国产精品视频免费在线观看 | 97视频在线免费观看 | 国产精品99久久久久久宅男 |