標籤:
這次在C#編程過程中,第一次用到了ACCESS資料庫,重點涉及到時間類型,整數類型。是否類型....;遇到了許多困難,就把這些整理了下來,與大家分享。
一、Insert語句的基本格式:
INSERT INTO Tablename[(column1name,[column2name, ...])]VALUES (value1, [value2, ...])
1.表的欄位名稱可能是資料庫的保留字,這時需把這個欄位名稱用"[]"括起來,
保留字的情況: INSERT INTO Employee([Name],id,dno)VALUES(’王強’,4007,3)
非保留字的情況:INSERT INTO Employee(name,id,dno)VALUES(’王強’,4007,3)
在這裡,Name是資料庫的關鍵字,name則不是。所以在寫資料的時候你要避開保留字的情況
2.INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘,4007)在這裡要注意要用到字串形式(文本)的時候,要加上(‘)的注釋,在程式設計語言中要加上逸出字元\‘
如果是整數的話,不用加引號,注意欄位名是不需要加引號的
以下是最後的sql語句
string sql = "INSERT INTO Test ([DateTime],RawInformation)VALUES(\‘" + dt.ToString() + "\‘,\‘" + raw + "\‘)";
二、update語句的基本格式
UPDATE Tablename SET column1name = value1,[ column2name = value2, ...] [WHERE conditions]
1.在選擇或者更新的時候SQL語句中where結構關於datetime的比較
最終的解決方案執行字串為兩種情況:
1.1string sql = "UPDATE [Test] SET [isinvaild]= \‘" + issuccess + "\‘,[silk]=" + data[0] + ",[zone1]=" + data[1] + ",[zone2]=" + data[2] + ",[zone3]=" + data[3] + ",[zone4]=" + data[4] + " where [DateTime]=#" + dt + "#"; 2.string sql = "UPDATE [Test] SET [isinvaild]= \‘" + issuccess + "\‘,[silk]=" + data[0] + ",[zone1]=" + data[1] + ",[zone2]=" + data[2] + ",[zone3]=" + data[3] + ",[zone4]=" + data[4] + " where cstr(DateTime) =\‘" + dt+"\‘" |
在這裡主要到的是:
第一種情況:對於Access資料庫時間格式需要在前後加上“#”號 來標註,第二是datetime還是要用到[]來標註起來
第二種情況:我們把欄位DateTime中的記錄轉化成了字串的形式跟所選擇的時間進行比較
三、select語句的基本格式
SELECT column_name, [column_name,] ...FROM table_list/view_list
還是在選擇的時候遇到時間的選取遇到的難題,比較最終的解決方案
C#中ACCESS資料庫常用動作陳述式...容易出錯的地方