台灣最大程式設計社群網站
線上人數
1625
 
會員總數:240682
討論主題:186539
歡迎您免費加入會員
討論區列表 >> VB6 >> VS2017 寫入、讀取、更新access資料庫
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
VS2017 寫入、讀取、更新access資料庫
價值 : 100 QP  點閱數:319 回應數:16

樓主

JaHo
門外漢
0 2
36 7
發送站內信

麻煩各位高手們幫小弟解答一下

於VS內有跑了各別的陣列的資料想把資料個別寫入access內
資料有流水號,驗證碼,姓名等...

我該如何把資料寫入access對應的欄位呢?

目前的進度的語法只有到..

Dim str As String
Dim conn As New OleDb.OleDbConnection
Dim ds As New DataSet
Dim adp As New OleDbDataAdapter
Dim cmd As New OleDbCommand



str = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & Application.StartupPath & "\票卷兌換.accdb"
conn = New OleDbConnection(str) '創建連線物件
Try
conn.Open() '打開連接


MessageBox.Show("資料以寫入", "以正確連線")
Catch ex As Exception
MessageBox.Show(ex.Message, "連接錯誤")
Exit Sub
End Try

搜尋相關Tags的文章: [ access ] ,
本篇文章發表於2017-08-30 00:46
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

小魚
檢舉此回應
如果不會跑錯誤的話,
再加上SQL語法應該就差不多了,
你要學一下SQL的語法。
本篇文章回覆於2017-08-30 07:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

JaHo
檢舉此回應
好的、謝謝您
本篇文章回覆於2017-08-31 12:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

JaHo
檢舉此回應
那能麻煩前輩指導一下我該如何寫入ACCESS對應欄位的語法範本嗎?
例如:
ACCESS的A1為我的流水號碼
VB程式內DATA()為我存放流水編號的位置
我該如何寫入呢..

以買書本研究,但因近期內須完成,請求前輩指導一下
本篇文章回覆於2017-08-31 12:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

JaHo
檢舉此回應
請問前輩們目前我的語法為
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim strSQL As String
Dim intRowsAffected As Integer

strSQL = "UPDATE 流水號 SET"
intRowsAffected = Executesql(strSQL)
MsgBox("UPDATE OK" & intRowsAffected)

End Sub

Private Function Executesql(strSQL As String) As Integer

Dim intRowsAffected
Dim objCon As New OleDb.OleDbConnection
Dim objCmd As OleDb.OleDbCommand
Dim strDbcon As String

strDbcon = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & Application.StartupPath & "\票卷兌換.accdb"
objCon = New OleDbConnection(strDbcon)
objCon.Open()
objCmd = New OleDbCommand(strSQL, objCon)

intRowsAffected = objCmd.ExecuteNonQuery()

objCon.Close()
Return intRowsAffected
End Function

但是最後跑資料會出現System.Data.OleDb.OleDbException: 'UPDATE 陳述式的語法錯誤。
請問我是哪段語法使用錯誤了??呢
本篇文章回覆於2017-09-01 03:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

小魚
檢舉此回應
UPDATE 流水號 SET
只有這樣而已?
你先學一下 SQL語法
本篇文章回覆於2017-09-01 12:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

JaHo
檢舉此回應
我是先測試流水號能不能寫入...
本篇文章回覆於2017-09-01 13:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

P陳
檢舉此回應
strSQL = "UPDATE 流水號 SET" <--- 這是更新語法

您要用新增的 語法
strsql=" Insert into table1 (field1,field2,field3) values ('111','222,'333')"



本篇文章回覆於2017-09-01 13:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

小魚
檢舉此回應
我只想說,
你的語法完全不對,
先把我貼的那篇研究完再說吧。
本篇文章回覆於2017-09-02 00:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
不錯的參考

P陳
檢舉此回應
JaHo:
小魚說的沒錯那篇文章您要先瞭解
至少要先瞭解(增刪改查)這四個的語法
增 (Insert) 刪 (Delete) 改(Update) 查(Select)

這樣我們的建議您才看得懂
本篇文章回覆於2017-09-02 07:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

JaHo
檢舉此回應
好的、謝謝小魚
看完小魚貼的那篇文章後解決了寫入的問題
不過在更新的部分他則顯示System.Data.OleDb.OleDbException: '準則運算式的資料類型不符合。'
我後面輸出的格式也相同是INT...
例如我的證號是A1234

如果把where拿掉可以正常寫入但是全部的格子都被寫滿了

想要再詢問關於流水號的部分有辦法寫入字串的方式嗎例如"A0000"1之類的
因為我用字串的方式寫入他會顯示資料型態不符
試著轉成int後前面的"A0000"就會消失剩下後面的數字1


Dim name
Dim number
Dim intRowsAffected As Integer
L10:
number = InputBox("請輸入流水號數字", "請輸入流水號")

data(number) = number

If code(number) = null Then
MsgBox("請輸入正確流水號")
GoTo L10
Else


End If
name = InputBox("請輸入兌換人證號", "請輸入兌換人證號")
ser(number) = name

strSQL = "UPDATE 票卷資料庫 SET 客戶證號='" & ser(number) & "'" & "WHERE 流水號='" & data(number) & "'"


intRowsAffected = Executesql(strSQL)
------------------------------------------------------------------
Dim objCon As New OleDb.OleDbConnection
Dim objCmd As OleDb.OleDbCommand
Dim strDbcon As String
Dim intRowsAffected As Integer
strDbcon = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & Application.StartupPath & "\票卷兌換.accdb"
objCon = New OleDbConnection(strDbcon)
objCon.Open()
objCmd = New OleDbCommand(strSQL, objCon)

intRowsAffected = objCmd.ExecuteNonQuery()

objCon.Close()
Return intRowsAffected

本篇文章回覆於2017-09-03 22:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

小魚
檢舉此回應
那要看你的資料庫的欄位類型是什麼了...
本篇文章回覆於2017-09-04 08:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

P陳
檢舉此回應
很多觀念您還沒有建立起來
沒有整體觀念,再下去您會很痛苦

如果是工作所需
誠心建議您去【巨匠】上個課吧





本篇文章回覆於2017-09-04 17:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

小魚
檢舉此回應
去巨匠上課有用嗎?
蠻懷疑的...
本篇文章回覆於2017-09-04 19:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

誰是誰
檢舉此回應
巨匠的老師起碼搞得懂變數和物件有甚麼不一樣。
本篇文章回覆於2017-09-05 04:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

P陳
檢舉此回應
誤解了
是樓主 JaHo 有很多不清楚的地方,他一下子跑到太前面了

是要請他到巨匠補前面缺的那塊,有些基本概念,不然我們回的他很難理解。
當然巨匠要用較多時間,趕的話就請個家教了


本篇文章回覆於2017-09-05 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   

回覆
如要回應,請先登入.