非同步訪問資料庫 經典之三

2021-05-28 01:50:28 字數 1723 閱讀 5405

public delegate function sqlop(byval psql as string) as dataset

private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click

dim b as sqlop = new sqlop(addressof runsql)

dim itfar as iasyncresult = b.begininvoke("select * from tbuser", new asynccallback(addressof addcomplete), "新增完成!")

end sub

sub addcomplete(byval itfar as iasyncresult)

dim ar as asyncresult = ctype(itfar, asyncresult)

dim b as sqlop = ctype(ar.asyncdelegate, sqlop)

myds = ctype(b.endinvoke(itfar), dataset)

console.writeline("結果正確!")

dim msg as string = ctype(itfar.asyncstate, string)

console.writeline(msg)

end sub

function runsql(byval psql as string) as dataset

dim m_connectionstring as string = string.empty

'建立乙個oledbconnection物件

dim m_connection as new sqlconnection

dim m_command as new sqlcommand

trym_connection.connectionstring = "data source=wangli;initial catalog=newdb;persist security info=true;user id=sa; password=sa;asynchronous processing=true"

'用sqlconnection物件和資料庫開啟連線

m_connection.open()

'定義command物件將執行sql

m_command.connection = m_connection

m_command.commandtype = commandtype.text

m_command.commandtext = psql

dim ds as new dataset

dim da as new system.data.sqlclient.sqldataadapter

da.selectcommand = m_command

da.fill(ds)

return ds

catch ex as exception

throw new exception(ex.message)

return nothing

finally

'關閉sqlconnection物件

m_connection.close()

end try

end function

資料庫之三正規化

如果不想看理論性的數的話,又想重溫一下資料庫知識,又是日本動漫迷的話,可以看一下 作為漫畫和專業知識結合在一起的點子十分有創意,而且讀起來也有趣。資料庫通過e r,entity relationship模型進行資料庫的設計,根據具體的關係。一對多,乙個職員對多個客戶。如果只有乙個職員。多對一,反過來...

資料庫之三正規化

第一正規化 無重複的列 定義 資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項。如果實體中的某個屬性有多個值時,必須拆分為不同的屬性 通俗解釋 乙個欄位只儲存一項資訊 eg 班級 高三年1班,應改為2個字段,乙個年級 乙個班級,才滿足第一正規化 不滿足第一正規化 第二...

資料庫學習之三

decode的使用 多表,intersect交集 minus減集 union並集 union all 並集不去重 在表中將每一條資料看成乙個元素,元素的段必須相同 求薪水排名前6 10的人 採用decode函式 count計數函式 group by分組函式 掌握兩個表的連線方式 第乙個表的每一條資料...