回家前的掙扎 SQLite增刪改查

2022-02-07 09:25:44 字數 4060 閱讀 8055

最後一天,公司就兩個人,也不知道弄點什麼,就在網上找了sqlite的文件,看了看,這裡也是現學現賣,給自己找點事做,感覺時間過得還是比較快的,不然焦急等待,滋味不好受啊。

跟使用sqlhelper一樣封裝sqlitehelper,通過下面的**你會發現他們是非常的相似的。

1

public

class

sqlitehelper214

}15///16

///獲得連線物件

17///

18///

19public

static

sqliteconnection getsqliteconnection()

20;password=123456", databasename));

30#endregion31}

32///

33///

匹配引數

34///

35///

36///

37///

38///

39private

static

void preparecommand(sqlitecommand cmd, sqliteconnection conn, string cmdtext, params

object

p)40

45cmd.parameters.clear();

46 cmd.connection =conn;

47 cmd.commandtext =cmdtext;

48 cmd.commandtype =system.data.commandtype.text;

49 cmd.commandtimeout = 30;50

if (p != null)51

56}57}

58///

59///

返回dataset

60///

61///

62///

63///

64public

static dataset executedataset(string cmdtext, params

object

p)65

74return

ds;75}76

///77

///返回第一行

78///

79///

80///

81///

82public

static datarow executedatarow(string cmdtext, params

object

p)83

89else

9093}94

///95

///執行非查詢操作 返回受影響的行數

96///

97///

98///

99///

100public

static

int executenonquery(string cmdtext, params

object

p)101

108}

109///

110///

返回sqlitedatareader

111///

112///

113///

114///

115public

static sqlitedatareader executereader(string cmdtext, params

object

p)116

125catch

(exception)

126130

}131

///132

///返回結果集的首行首列

133///

134///

135///

136///

137public

static

object executescalar(string cmdtext, params

object

p)138

145}

146///

147///

分頁獲取dataset

148///

149///

150///

151///

152///

153///

154///

155///

156public

static dataset executepager(ref

int recordcount, int pageindex, int pagesize, string cmdtext, string counttext, params

object

p)157

168return

ds;169

}170 }

1

try2

6catch

(exception)

7

1

//引數化方式

2int r = sqlitehelper.executenonquery("

insert into users values(?,?,?)

", new

string

);3//拼接方式4//

int result = sqlitehelper.executenonquery("insert into users values('" + guid.newguid().tostring() + "','" + name + "','" + pwd + "')");

5if (r > 0)6

9else

10

1

protected

void linkdelete_click(object

sender, eventargs e)2);

6if (result > 0)7

12 }

1   sqlitehelper.executenonquery("

update users set username=? where id=?

", new

string );

1  sqlitehelper.executedataset("

select * from users

");

首先你會接觸到乙個讓你驚訝的名詞: typelessness(無型別). 對! sqlite是無型別的. 這意味著你可以儲存任何型別的資料到你所想要儲存的任何表的任何列中, 無論這列宣告的資料型別是什麼(只有在一種情況下不是, 稍後解釋). 對於sqlite來說對字段不指定型別是完全有效的. 如:

create table ex1(a, b, c);

誠然sqlite允許忽略資料型別, 但是仍然建議在你的create table語句中指定資料型別. 因為資料型別對於你和其他的程式設計師交流, 或者你準備換掉你的資料庫引擎時能起到乙個提示或幫助的作用. sqlite支援常見的資料型別, 如:

create table ex2

a varchar(10),

b nvarchar(15),

c text,

d integer,

e float,

f boolean,

g clob,

h blob,

i timestamp,

j numeric(10,5)

k varying character (24),

l national varying character(16)

前面提到在某種情況下, sqlite的字段並不是無型別的. 即在字段型別為」integer primary key」時.

總體來說sqlite還是比較容易上手的,看了一上午的文件,然後做了乙個簡單的demo,感覺跟sqlserver語法很相似。

晚上就要回家了,祝大家,馬年,馬到成功,心想事成.....

回家前的掙扎 SQLite增刪改查

最後一天,公司就兩個人,也不知道弄點什麼,就在網上找了sqlite的文件,看了看,這裡也是現學現賣,給自己找點事做,感覺時間過得還是比較快的,不然焦急等待,滋味不好受啊。跟使用sqlhelper一樣封裝sqlitehelper,通過下面的 你會發現他們是非常的相似的。1 public class s...

sqlite 增刪改查

公共 private sqlitedatabase database getwritabledatabase 1.新增新資料 database.execsql insert into tablename id,name,passname,time values new object 2.刪除資料,多...

sqlite的增刪改查

基本步驟 1.開啟資料庫 2.處理資料 3.關閉資料庫 先設定全域性變數 lazy var documentspath string 指標 var db opaquepointer?nil var stmt opaquepointer?nil 建立或開啟資料庫 func createoropenda...