FirebirdSQL/5/5

出自VFP Wiki

在2009年9月1日 (二) 01:54由Elleryq (對話 | 貢獻)所做的修訂版本
(差異) ←上一修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導航, 搜尋

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

VB&Firebird文章

VB參考網站

老怪之VB初級生