FirebirdSQL/5/5
出自VFP Wiki
VB Code
以下程式來自於VB Programming with Firebird.
- 取得所有資料
FB-Connecting.vbp
Private sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New Recordset
Dim sql As String
cn.ConnectionString = "Provider=ZStyle IBOLE Provider; Data Source =
"_&"c:\ProgramFiles\Firebird\Firebird_1_5\Samples\Httplogs.gdb;UID=sysdba;password= pwd"
cn.Open sql= "Select* From States"
Set rs = cn.Execute(sql)
DoWhile Not rs.EOF
List1.AddItemrs(0) & vbTab & rs(1)
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub
- 更新單筆資料
Text1 = txtEStateCode
Text2 = txtEStateName
Command1 = cmdEdit
Command2 = cmdAdd
Private Sub cmdEdit_Click()
Dim cn1 As New ADODB.Connection
Dim sql As String
If txtEStateCode = "" Then MsgBox "Please enter a State Code!": _
txtEStateCode.SetFocus: Exit Sub
cn1.ConnectionString = "Provider=ZStyle IBOLE Provider; Data Source=" _
& "c:\Program Files\Firebird\Firebird_1_5\Samples\Httplogs.gdb; UID=sysdba; password=pwd"
cn1.Open
sql = "Update States Set State_Name='" & txtEStateName & "'" & _
& " Where State_Code='" & UCase(txtEStateCode) & "'"
cn1.Execute sql
cn1.Close
txtEStateCode = ""
txtEStateName = ""
End Sub
</code>
*新增單筆記錄
<code>
Private Sub cmdAdd_Click()
Dim cn As New ADODB.Connection
Dim sql As String
If txtEStateCode = "" Then MsgBox "Please enter a State Code!": _
txtEStateCode.SetFocus: Exit Sub
cn.ConnectionString = "Provider=ZStyle IBOLE Provider; Data Source=" _
& "c:\Program Files\Firebird\Firebird_1_5\Samples\Httplogs.gdb; UID=sysdba; password=pwd"
cn.Open
sql = "Insert Into States (State_Code, State_Name) Values" _
& "('" & UCase(txtEStateCode) & "','" & txtEStateName & "')"
cn.Execute sql
cn.Close
txtEStateCode = ""
txtEStateName = ""
End Sub
- 新增多筆記錄
Private Sub cmdAdd_Click()
Dim cn As New ADODB.Connection
Dim sql As String
Dim i, rowCount As Integer
Dim lineItem As String
Dim itemArray
cn.ConnectionString = "Provider=ZStyle IBOLE Provider; Data Source=" _
& "c:\Program Files\Firebird\Firebird_1_5\Samples\Httplogs.gdb; UID=sysdba; password=pwd"
cn.Open
'Add items to database
rowCount= List1.ListCount 'getthe number of rows in the list box
Do Until i = rowCount
lineItem = List1.List(i)
itemArray = Split(lineItem, vbTab)
sql = "Insert Into States (State_Code, State_Name) Values" _
& "('" & UCase(itemArray(0)) & "','" & itemArray(1) & "')"
i = i + 1
cn.Execute sql
Loop
cn.Close
List1.Clear
End Sub
Sub Private Sub Form_Load()
List1.AddItem "CO" & vbTab & "Colorado"
List1.AddItem "CT" & vbTab & "Connecticut"
List1.AddItem "MN" & vbTab & "New Mexico"
List1.AddItem "WY" & vbTab & "Wyoming"
End Sub
- 使用Stored Procedure
/*以下為FirebirdSQL 的Creating a Stored Procedure*/ Create Procedure SP_GETLIST BEGIN SELECT State_Code, State_Name FROM States Where State_Code = 'VA' INTO :State_Code, :State_Name; SUSPEND; END '以下為VB Code Private Sub Command1_Click() Dim cn As New ADODB.Connection Dim cmd As ADODB.Command cn.ConnectionString = "Provider=ZStyle IBOLE Provider; Data Source=" _ & "c:\Program Files\Firebird\Firebird_1_5\Samples\Httplogs.gdb; UID=sysdba; password=pwd" cn.Open Set cmd = New ADODB.Command cmd.ActiveConnection = cn cmd.CommandText = "SP_GETLIST" cmd.CommandType = adCmdStoredProc cmd.Execute Text1 = cmd.Parameters(0).Value Text2 = cmd.Parameters(1).Value cn.Close End Sub