根據例項型別反射運算元據庫(簡單通用表操作類)

2022-03-11 17:36:57 字數 2306 閱讀 8337

這個類適用簡單的表

1.有且只有id為主鍵,

2.並且例項類主鍵,也就是id應為字段,其他為屬性

3.例項類名跟表名一樣,字段屬性跟列名一樣

public class protype

public int array

public string relytpye

public string etype

}

下面就是該類的實現

///

///排序列舉

/// public

enum

ordertype

public

class sqldalwhere t : new

()

}//////

查詢

/// ///

public

datatable select()

//////

查詢

/// ///

排序 ///

排序字段

///public datatable select(ordertype ordertype, params

string

str)

orderstr += "

" +ordertype.tostring();

}t t = new

t();

string sql = "

select * from

" + t.gettype().name +orderstr;

datatable dt =dbhelper.getinfo(sql);

return

dt; }

//////

/// ///

///public

bool

insert(t t)

string strname = ""

;

string strvalue = ""

; strname += namelist[0

]; strvalue += "

@" + namelist[0

];

for (int i = 1; i < namelist.count; i++)

string sql = "

insert into

" + t.gettype().name.tostring() + "

(" + strname + "

) values (

" + strvalue + ")"

;

int isadd =dbhelper.commed(sql, parm.toarray());

if (isadd > 0

)

else

}//////

/// ///

///public

bool

update(t t)

string str = ""

; str = namelist[0] + "

=@" + namelist[0

];

for (int i = 1; i < namelist.count; i++)

string sql = "

update

" + t.gettype().name + "

set

" + str + "

where id=@id";

int isupdate =dbhelper.commed(sql, parm.toarray());

if (isupdate > 0

)

else

}//////

/// ///

///public

bool delete(string

id)

else

}}

這裡之所以有這個類,是因為操作這些表的**大同小異,甚至可以做出通用任意表,例項類可以用特徵類來標識,做出欄位與列名的相對應

但那種太過繁瑣,用來實現這些簡單表就有點大材小用,所有先弄出了這個類,如果後面有機會再實現以下任意表通用類

使用SpringJdbc運算元據例項

一 使用springjdbc運算元據例項 1.編寫druid資料庫連線池工具 1 匯入druid包 2 建立jdbc.properties資料庫配置檔案 driverclassname com.mysql.jdbc.driver url jdbc mysql localhost 3306 db tt...

Python,運算元據庫例項

一 準備 軟體版本 python 版本3.7 pycharm 版本2018.2 資料庫mysql5 注意 python2.7以後的版本不再支援 mysqldb這個模組。需要用pymysql,需使用命令列切換到python的安裝路徑下的scripts子目錄下安裝 pip install pymysql...

QT 運算元據庫SQLite例項

include widget.h qsqlquery query dbconn 以下執行相關qsl語句 新建student表,id設定為主鍵,還有乙個name項 query.exec create table student id varchar,name varchar query.exec qo...