ado如何向access資料庫中插入時間

2022-02-27 22:28:16 字數 5695 閱讀 8420

1樓:

####上樓提供的思路是可行的,只是離實際解決問題還有些距離。ado和adox提供的都是些智慧指標*ptr,同行一般都會對它們進行再次封裝,封裝後主要的幾個類有class cadodatabase、class cadorecordset、class cadocommand。提問者可以試試我的方法,我用ado、adox做過些工程。

這些封裝好的類在四個檔案裡,ado.h/cpp、adox.h/cpp,需要的話可以email給你。

以下是用這些類實現你的功能需求。

cstring str_database, str_table ;

str_database = 「資料庫名字.mdb」;

str_table = 「表名字」;

cstring strconnection = 「microsoft.jet.oledb.4.0;data source=" ;

strconnection += str_database ;

cadodatabase db_databasetemp ;

db_databasetemp.open(strconnection); /* 連線資料庫檔案 */

cadorecordset db_recordsettemp(db_databasetemp );

db_recordsettemp.open( str_table.getbuffer(0), cadorecordset::opentable) ; // 開啟表

coledatetime *poledate ; /* ado支援的日期/時間資料型別 */

cstring str_date ; // 與控制元件關聯的字串

// 關鍵步驟****************************************

str_date = 「2008-3-31」 ;/* yyyy-mm-dd 年-月-日格式 實際由控制元件輸入 執行 update(true)完成 */

poledate = new coledatetime( time_t( atoi(str_date.getbuffer(0) ) ) ) ; /*atoi字元轉整形,time_t格式化整形為long */

// 關鍵步驟****************************************

db_recordsettemp->addnew();

cstring str_fieldname ;

db_recordsettemp.setfieldvalue( str_fieldname, * poledate) ; /* 寫時間欄位,接著寫其它欄位,完成整體記錄 */

db_recordsettemp.update();

2樓:匿名使用者

日期/時間 欄位需要用 以下格式插入時間,例如: #12:00:00 pm#

3樓:速達_濟南天禹

新增:』下面這句連線資料庫指定表的所有欄位

adodc1.recordsource = "select * from 庫存表"

』下面這句新增記錄

adodc1.recordset.addnew

下面4句就是通過4個textbox控制元件輸入欄位的資料,如果是數字型別可以加val

adodc1.recordset.fields("貨物編號") = text1.text

adodc1.recordset.fields("貨物名稱") = text2.text

adodc1.recordset.fields("庫存量") = text3.text

adodc1.recordset.fields("單位") = text4.text

』下面這個是修改後更新

adodc1.recordset.update

修改:'通過主鍵指定要修改的記錄

adodc1.recordsource = "select * from 庫存表 where 貨物編號 = " & text1.text

adodc1.refresh

adodc1.recordset.fields("貨物編號") = text1.text

adodc1.recordset.fields("貨物名稱") = text2.text

adodc1.recordset.fields("庫存量") = text3.text

adodc1.recordset.fields("單位") = text4.text

vb如何用ado向access資料庫插入和修改記錄?

4樓:

1、microsoft access視窗中,選擇檔案選單中的開啟選項,開啟一個已有的資料庫。

2、資料庫中有兩張**,如下圖所示。

3、資料庫中,**學生資訊是課程成績的子表。

4、如果直接在子表中插入記錄,會提示不能新增或修改。

5、其實,只需在主表中,插入相關的主鍵和記錄。

6、接著,就可以在子表中插入相關記錄了。

7、如果要在子表中插入欄位,只需選擇單擊以新增選項。

8、新增欄位後,輸入欄位名即可。

5樓:

private sub test()

dim con as new adodb.connection

dim rs as new adodb.recordset

dim sql as string

'連access

'con.open "provider=microsoft.jet.

oledb.4.0;data source=d:

\db3.mdb;persist security info=false"

set sql = "select * from 表名" 'sql查詢語句

rs.open sql,con,1,3 '後面的3是確定讀寫許可權的

rs.addnew '增加一行記錄,不用則修改當前記錄

while (not rs.eof)

rs("欄位1")="..." '資料讀寫操作

rs("欄位2")="..." '資料讀寫操作

...rs.movenext '移動到下一條記錄,增加新記錄無需

rs.update '儲存寫入資料,如果使用只讀許可權,則不能使用這個方法

wend

rs.close '這個方法用來關閉你所代開的表,如果不使用這個方法可造成資料庫負擔過重或後續操作問題

con.close

set con = nothing

end sub

6樓:匿名使用者

新增:』下面這句連線資料庫指定表的所有欄位

adodc1.recordsource = "select * from 庫存表"

』下面這句新增記錄

adodc1.recordset.addnew

下面4句就是通過4個textbox控制元件輸入欄位的資料,如果是數字型別可以加val

adodc1.recordset.fields("貨物編號") = text1.text

adodc1.recordset.fields("貨物名稱") = text2.text

adodc1.recordset.fields("庫存量") = text3.text

adodc1.recordset.fields("單位") = text4.text

』下面這個是修改後更新

adodc1.recordset.update

修改:'通過主鍵指定要修改的記錄

adodc1.recordsource = "select * from 庫存表 where 貨物編號 = " & text1.text

adodc1.refresh

adodc1.recordset.fields("貨物編號") = text1.text

adodc1.recordset.fields("貨物名稱") = text2.text

adodc1.recordset.fields("庫存量") = text3.text

adodc1.recordset.fields("單位") = text4.text

vb6 將文字轉換成時間,然後寫入access資料庫出問題

7樓:sql的藝術

adonum.open "select * from num", db, adopenstatic, adlockoptimistic

adonum.addnew

for n = 0 to 60

adonum.fields(n + 1) = nom(n)next

adonum.fields(61) = "#2018-03-11#"

adonum.update

adonum.close

在access資料庫中,日期或時間欄位在插入或更新時,接受的值是以」#「引起來的字串

8樓:匿名使用者

dat是什麼值?列印出來看看

用ado怎麼連線access資料庫?

9樓:匿名使用者

csize本身屬於無量綱的單位,不存在換算問題。

你上面獲得的size,本身單位就是畫素。

不過createfont函式本身w並不能精確控制建立的字型,頂多建立一個接近你的要求的字型。

如果你的字型比例太奇怪,createfont是做不到和你要求一樣的。

10樓:du瓶邪

步驟如下:

一、用有源odbc dsn的方法和無源ole db的方法連線資料庫:

1、無源ole db:

string strconn="provider=microsoft.jet.oledb.4.0 ;data source=intels.mdb" ;

2、有源odbc dsn:

string strconn="data source=intels";

如果採用ado.net連線sql server或者oracle,方法和vb中連線相應資料的連線字串一致。

二、開始連線資料庫:

adoconnection conn = new adoconnection(strconn);

三、執行一個select sql 查詢:

string strsql = "select id from test" ;

adocommand adocmd=new adocommand(conn,conn);

conn.open();

adodatareader reader;

adocmd.execute(out reader);

四、得到adodatareader中包含的資料:

先執行:

reader.read();

然後就可以取得數值:

reader["id"].tostring();

依次類推。

五、delete(刪除)語句,insert和update相同:

strsql="delete from test where id=』1』";

//strsql="insert into test values(』1』)";

//strsql="update test set id=』1』";

adocommand adocmd=new adocommand(conn,conn);

conn.open();

adocmd.execute();

vb6 0 用ado修改access資料庫中指定某行某列的單

你用ado控制元件還是物件呢?vb6.0 使用adodc控制元件讀取access資料庫.怎麼修改資料庫指定某一列的所有見容?adodc控制元件是這個兄弟,使用很簡單,舉個按鈕單擊的例子 private sub command1 click adodc1.connectionstring provid...

請教 MFC多執行緒資料庫程式設計ado,資料庫訪問衝突

dword mydlg timerthreadfunc lpvoid lpparam closehandle htimer 用多執行緒同步技術,即一個執行緒將要取得資料區鎖定,另一個執行緒此時不能存取此塊的資料。看看多執行緒同步的書。例如 void ccalibpage1 ontimer uint ...

mysql資料庫和access資料庫有什麼區別

mysql和access的區別 mysql特性 很便宜,通常是免費的 網路承載少 查詢 優化 可以簡便的應用程式通過mysql做備份 mysql操縱簡單,易上手,且為各種不同的資料格式提供有彈性的擴充套件介面 odbc access特性 簡單易學,使用方便,開發效率高。mysql對於大多數使用者而言...