Witam,
próbuję napisać kod, który odczyta mi zawartość bazy danych i przepisze na zmienne wizualizacji.
Zapis do bazy zrealizowałem następująco:
Dim sql, id,abc,cur, numRows
sql = "Select * FROM Recipes WHERE Name='" & $RecipeSel_INI & "'"
cur = $DBCursorOpenSQL("DB_INI", sql)
numRows=$DBCursorRowCount(cur)
$DBCursorClose(cur)
If numRows<1 Then
sql = "INSERT INTO Recipes VALUES('" & $RecipeSel_INI & "','" & $INI_Text1 & "','" & $INI_Text2 & "','" & $INI_Text3 & "','" & $INI_Text4 & "'"
For id=1 To 18
sql = sql & "," & $INI[id]
Next
sql = sql & ")"
$DBExecute("DB_INI", sql)
$reload = $reload+1
MsgBox"Recipe Saved!",,"Save"
Else
sql = "UPDATE Recipes SET "
For id=1 To 18
If id>1 Then sql = sql & ","
sql = sql & "INI" & id & "=" & $INI[id]
Next
sql = sql & " WHERE Name='" & $RecipeSel_INI & "',TEXT1='" & $INI_Text1 & "',TEXT2='" & $INI_Text2 & "',TEXT3='" & $INI_Text3 & "',TEXT4='" & $INI_Text4 & "'"
$DBExecute("DB_INI", sql)
$reload = $reload+1
MsgBox"Changes to Recipe saved!",,"Save"
End If
Odczyt mam następująco, niestety nie działa.
If $Aux=0 Then
Dim numCur, sql,numRows, id,i,sql2,result
sql = "Select * FROM Recipes WHERE Name='" & $RecipeSel_INI & "',TEXT1='" & $INI_Text1 & "',TEXT2='" & $INI_Text2 & "',TEXT3='" & $INI_Text3 & "',TEXT4='" & $INI_Text4 & "'"
numCur = $DBCursorOpenSQL("DB_INI", sql)
numRows = $DBCursorRowCount(numCur)
If $Num(numRows)>0 Then
For id=1 To 18
$INI[id] = $DBCursorGetValue(numCur, "INI" & id)
Next
End If
$DBCursorClose(numCur)
$Close("RecipeBrowser_INI.scr")
Else
sql = "Select * FROM Recipes WHERE Name='" & $RecipeSel_INI & "',TEXT1='" & $INI_Text1 & "',TEXT2='" & $INI_Text2 & "',TEXT3='" & $INI_Text3 & "',TEXT4='" & $INI_Text4 & "'"
numCur = $DBCursorOpenSQL("DB_INI", sql)
numRows = $DBCursorRowCount(numCur)
If $Num(numRows)>0 Then
For id=1 To 18
$INI[id] = $DBCursorGetValue(numCur, "INI" & id)
Next
End If
$DBCursorClose(numCur)
result=MsgBox("Are you sure you want to delete the Recipe: " &$RecipeSel_INI &"?",vbYesNo,"Delete")
Select Case result
Case vbYes
sql2 = "DELETE FROM Recipes WHERE Name='" & $RecipeSel_INI & "',TEXT1='" & $INI_Text1 & "',TEXT2='" & $INI_Text2 & "',TEXT3='" & $INI_Text3 & "',TEX4='" & $INI_Text4 & "'"
$DBExecute("DB_INI", sql2)
$reload = $reload+1
$Close("RecipeBrowser_INI.scr")
$RecipeSel=""
For i =1 To 18
$INI[i]=0
Next
Case vbNo
$Close("RecipeBrowser_INI.scr")
End Select
End If
Pozdrawiam