乙個類中多次連線資料庫,只例項化一次可以嗎
1樓:網友
首先,你的這個database成員變數沒有加修飾符,是非靜態的,protected的,在static的方法中呼叫是會出語法錯誤的。
其次,維持資料庫連線是不科學的,資料庫伺服器的承受能力也有限,所以應該是每次訪問資料庫的時候開啟連線,訪問結束之後立即釋放。
是否需要反覆例項化要看這個類是怎麼寫的,如果這個類在getdatareader方法裡做的和? 或者其他),那麼只例項化一次是ok的(這樣做也是符合常理的)。否則的話就應該每次呼叫方法都重新例項化。
我看到每個getdatareader之後都有乙個close()方法,那麼我認為應該是第一種情況。
首先很抱歉,我不用qq
關於database類的**:
我覺得如果你對它的功能要求不是很複雜的話,可以把open和close方法去掉(或者改成private的),把開啟和關閉連線的操作都整合到訪問資料庫的方法中,以達到更好的封裝效果。當然如果你的程式需要暴露open和close 的介面就算了。
看來你還不是很理解「封裝」的概念。封裝的意思是隱藏**,就是說提供儘量簡單的介面,使用者只知道這個介面可以做什麼事情,但不知道具體的實現途徑。例如這裡,如果將open和close整合到getdatareader中,我只知道可以獲得乙個datareader,但不知道需要先open,獲得datareader,然後close這樣的過程。
目前你的做法是這樣的:在getdatareader中open,但是需要呼叫方法來關閉。我看過你的第一段**就可以猜出裡面大致是如何實現的了,這就說明封裝的不完善。
2樓:筱筱傾城
可以共享用的。你只要在下一次資料庫操作之前關閉連線重新開打連線就可以了。
3樓:
關閉,但不釋放物件,所以,無需例項化;
而 釋放物件,再引用時,需要對conn重新例項化。
4樓:如此放肆的美館
這個類是自己寫的,設計好了當然可以直接用,例項化那麼多幹嘛,完全是看自己了。
關於連線資料庫的問題。有例項
5樓:
直接在確定按鈕的button事件中寫入如下**。
sqlconnection conn = new sqlconnection();//建立連線物件。
string connection="data source=.;initial catalog=資料庫名;user id=sa;password=123";"].tostring();//設定連線字串。
sqlcommand comm = new sqlcommand();
select * from table where id='" + "'";
conn;sqldatareader dr = ;
if ( == true)
elseelse
這個**我給你加上了驗證兩次密碼是否一致的功能,如果一致那麼就會進行提交併返回提示,如果不一致也會出現警告提示。**實際測試過。如果還有疑問可以直接向我提問。
6樓:敗者為寇的王
.net 和資料庫連線就不用繫結控制項啊 !
首先,登入你的資料庫。
二、在。net中連線資料庫。
三、在連線資料庫完畢之後,點一下連線找屬性中的連線字串 整個copy下來。
四、在配置檔案中寫相應**,past 你的連線字串!
在使用的時候直接造物件就ok!
7樓:網友
你用的這個控制項,是自己作的,不是微軟預設提供的吧?如果是你自己做的話,那麼繫結的工作還是要你自己做。
不過話說回來,乙個登陸的控制項需要繫結什麼資料?不用那麼麻煩吧。再說回來,登陸這種對安全性要求較高的工作,內部的處理還是自己做比較放心阿。呵呵。
8樓:春華秋實
意思就是實現註冊功能嘛、這個簡單啊、做網頁最先學的就是登陸註冊、建議你用儲存過程來做、要是他們說的還沒解決的話、你加我q452460213、咱們詳談。
9樓:爾玉
在後臺就可以啊,你加些**就行了。。。
10樓:網友
這個問題很簡單,把兩文字框放到formview裡,設定formview的資料來源,在設定文字框的繫結就可以了。
11樓:親臨三國
看看參考資料吧。
只是你說的繫結指什麼,我不大明白。
c++ 連線mysql 的例子 麻煩給乙個 謝謝
12樓:網友
樓上這位是在發廣告還是在水分啊?
如果可以用mfc的話就去試試cdatabase吧。
這是從msdn中找出來的。
cdatabase物件表示到資料來源的連線,通過它可以運算元據源。資料來源是位於一些資料庫管理系統(dbms)的資料的指定例項,包括microsoftsql server,microsoft access,borland dbase和xbase。在應用中可以同時使乙個或多個cdatabase物件活動。
注意:如果在處理資料訪問物件(dao)類而不是開放資料庫連線(odbc)類,可使用類cdaodatabase。有關的更多資訊,請參閱聯機文件「visual c++程式設計師指南」中的「資料庫主題(通用)」與「dao和mfc」。
為使用cdatabase,構造乙個cdatabase物件並呼叫它的openex成員函式。這開啟了乙個連線。在接著構造crecordset物件以操縱連線的資料來源時,向cdatabase物件傳遞記錄集構造程式指標。
完成使用連線時呼叫close成員函式並銷燬cdatabase物件。close關閉以前沒有關閉的任何記錄集。
有關cdatabase的更多資訊,請參閱聯機文件「visual c++程式設計師指南」中的「資料來源(odbc)」和「資料庫主題(通用)」。
#include
請參閱:crecordset
介紹個j**a連線資料庫的例項
13樓:網友
這個你可以看看這個。很全!
連線資料庫的物件例項問題
14樓:網友
怎麼不給點懸賞分啊!呵呵……你說的是recordset物件的open方法裡的cursortype和locktype這兩個引數吧!當為1,1時表示以唯讀的方式開啟資料庫表,如果是1,3的話則可以對資料悉知搏庫表中的記錄進行修猛譽改、刪除或更新等操作,如果只是顯示數睜祥據庫中的記錄的話設定引數為1,1就可以了……呵呵……不知道我的你是否滿意?呵呵。
C與資料庫連線的具體步驟是,c 連線資料庫的步驟是什麼?
樓主需要連結資料庫 首選,要引用名稱空間 using system.data.sqlclient 如果是orcale資料,則using system.data.oracleclient 然後要有連結字串。這個是關鍵,指定資料庫位置,名稱,使用者憑證等資訊 string connection data...
初學MFC,連線資料庫實驗(用的是ODBC資料來源),自己用對話方塊做的使用者登陸介面,為什麼密碼用空格也能
連線指標 static connectionptr m faxdatalink null 初始化資料庫 bool cdatabase faxinidatalink cstring basename,cstring name,cstring pwd else catch com error error...
關於資料庫設計的問題,關於資料庫設計的一個問題
請問你的檔案表是以什麼作為主鍵的?一個關於資料庫設計方面的問題。10 有學生的id,姓名以及各科成績的分數字段跟所在地區的id,學校id,年紀id,班級id。這樣的話,資料怎樣設計才能記錄出一套試卷,能夠知道哪些地區,哪些學校,哪些學生參加了這場考試?1 a表 地區 學校 學生id 學生姓名 在一張...