我现在做了小程序,用VB6.0和SQL2000且都装在一台机子上,其中程序里用了许多ADODC控件与数据库连接,
连接的时候机器名指定的是我的机器名。现在我想把程序放在另一台机子上用,程序里的每一个ADODC控件的机器名都得改变,象这种情况怎么处理?
连接的时候机器名指定的是我的机器名。现在我想把程序放在另一台机子上用,程序里的每一个ADODC控件的机器名都得改变,象这种情况怎么处理?
解决方案 »
- InvalidateRect失效区不能正常刷新
- 怎样把Integer转换为string 使转换后的string有固定的位数
- 如何用正则去除字符串
- MSFlexGrid连接数据库,“类型不匹配”?
- 技术性请教
- VB中怎样检测某个COM端口上,是否连接了设备?
- 如何编程实现铁路线,国界线等样式的线型!!
- KeyCode和KeyAscii有什么区别,为什么KeyPress(KeyAscii As Integer)事件和KeyDown(KeyCode As Integer, Shift As Integer)事件里分布用
- 如何把put 字节到文件转换字节到变量?
- 给出个注意吧!
- 怎样才能避免自己开发的控件在加载的时候多次绘制?
- 高手帮忙看看! 给我一个API吧.
或者把数据库地址的字符串设置为一个公共变量,在整个程序里面都可以调用,修改的话只需要修改一个地方。
还有local
或者王注册表里面写一个值,判断是否第一次在该计算机安装次软件,如果是的话,就配置一下数据环境,赋给字符串,再写入注册表,用的时候从注册表读取
Public cnn_xt As New ADODB.Connection
Dim rst_jjsi As New ADODB.Recordset
Dim rst_xtjj_b As New ADODB.Recordset
Dim rst_jjde_b As New ADODB.Recordset
Dim Node_jjsi As Node
Dim sql As String '主要用于SQL
Private Sub DtG_fz(DtG_z As Integer) '设置DataGrid布局
Select Case DtG_z
Case 1
With DataGrid1
For i = 0 To rst_xtjj_b.Fields.Count - 1
.Columns(i).Visible = False
Next
.Columns(1).Visible = True
.Columns(1).Caption = "定额编号"
.Columns(1).Width = 1000
.Columns(2).Visible = True
.Columns(2).Caption = "定额名称"
.Columns(2).Width = 3500
.Columns(3).Visible = True
.Columns(3).Caption = "单位"
.Columns(3).Width = 550
.Columns(4).Visible = True
.Columns(4).Caption = "单位数量"
.Columns(4).Width = 900
.Columns(5).Visible = True
.Columns(5).Caption = "基价"
.Columns(5).Width = 900
End With
Case 2
With DataGrid2
For i = 0 To rst_jjde_b.Fields.Count - 1
.Columns(i).Visible = False
Next
.Columns(0).Visible = True
.Columns(0).Caption = "代号"
.Columns(0).Width = 700
.Columns(2).Visible = True
.Columns(2).Caption = "工料机名称"
.Columns(2).Width = 2000
.Columns(2).Locked = True
.Columns(3).Visible = True
.Columns(3).Caption = "单位"
.Columns(3).Width = 900
.Columns(3).Locked = True
.Columns(4).Visible = True
.Columns(4).Caption = "基价"
.Columns(4).Width = 900
.Columns(4).Locked = True
.Columns(5).Visible = True
.Columns(5).Caption = "含量"
.Columns(5).Width = 900
End With
Case Else
End Select
End Sub
Private Sub Form_Load()
'CenterForm Me '窗体运行中央的过程
cnn_xt.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ App.Path & "\glxt_k.mdb;Persist Security Info=False"
cnn_xt.Open
rst_jjsi.CursorLocation = adUseClient
rst_jjsi.Open "SELECT * FROM jj_si ORDER BY si", cnn_xt, adOpenKeyset, adLockOptimistic, adCmdText
Dim x As String
rst_jjsi.MoveFirst
Do While Not rst_jjsi.EOF
If Not rst_jjsi!si_f = "" Then
x = rst_jjsi!si_f
Set Node_jjsi = TreeView1.Nodes.Add(x, tvwChild, rst_jjsi!si, rst_jjsi!mc)
Else
Set Node_jjsi = TreeView1.Nodes.Add(, tvwFirst, rst_jjsi!si, rst_jjsi!mc)
End If
rst_jjsi.MoveNext
Loop
rst_jjsi.MoveFirst
rst_xtjj_b.CursorLocation = adUseClient
sql = "SELECT * FROM xt_jj where " & "si like '" & RTrim(rst_jjsi!si) & "%'"
rst_xtjj_b.Open sql, cnn_xt, adOpenKeyset, adLockBatchOptimistic, adCmdText
rst_xtjj_b.MoveFirst
rst_jjde_b.CursorLocation = adUseClient
sql = "SELECT * FROM xt_de where " & "de_bh = '" & RTrim(rst_xtjj_b!de_bh) & "'"
rst_jjde_b.Open sql, cnn_xt, adOpenKeyset, adLockBatchOptimistic, adCmdText
Set DataGrid1.DataSource = rst_xtjj_b
DtG_fz 1
Set DataGrid2.DataSource = rst_jjde_b
DtG_fz 2
End SubPrivate Sub Form_Unload(Cancel As Integer)
rst_xtjj_b.UpdateBatch
rst_jjde_b.UpdateBatch
rst_xtjj_b.Close
rst_jjde_b.Close
Set rst_xtjj_b = Nothing
Set rst_jjde_b = Nothing
rst_jjsi.Close
Set rst_jjsi = Nothing
End Sub