用VB打造自己的SQL连接器
大家好.....好长时间没上网了...祝大家新年快乐....好了.工程开始
现建一个普通窗口..放上3个textBox控件.
一个是用来输入ip的txtaddres..还有就是用户名txtuser和密码txtpass...为相应的控件起个好听地名字
还有1个按钮用来确定连接...
定义一个连接对象..和记录集对象
publicconnasnewADODB.Connect'连接的
publicrecvasnewADODB.Resordset'用来接收数据的
'''''''''''''''''''''''''''''''''''''''''''''''''''
连接按钮事件click()
dimsqlasstring
sql="Provider=SQLOLEDB.1;
Password="&txtpass&";
PersistSecurityInfo=True;
UserID="&txtuser&";
InitialCatalog="&msdb&";
DataSource="&txtaddres
sql变量力存放的是连接字符串....
conn.ConnectionString=sql'连接字符串..
conn.open'连接
ifconn.state=0then'表示连接不成功...
当conn.state=1表示连接成功了....
好了...我们的软件现在已经可以正确的连接上sql服务器了
现在我们要能执行dos命令...
在我们刚才的窗体里面在创建一个textbox(txtsend)用来打dos命令和一个发送命令按钮
发送命令以后服务器会返回数据...所以还要加一个RichTextBox控件(个人推荐)...用textbox也可以
在sql默认得数据库msdb里面可以执行xp_cmdshell'dos命令'
对...我们现在也要把这条命令发送到服务器执行.....
执行按钮事件click()
dimsqlasstring
sql="xp_cmdshell'"&txtsend.text&"'"'命令应该用单引号括起来....
setrecv=conn.Execute(sql)'执行sql命令.并把返回数据记录在记录集recv里面
dimiasinteger,colasstring
WhileNotrecv.Eof'读数据到最后一行
fori=0toRecv.Fields.Count-1
col=recv.fields(i).name
RichTextBox.setcolor=&hff00&'改颜色
RichTextBox.seltext=recv.fields(col).value
recv.movenext
next
wend
程序可能会出现问题..最好加上
onErrorgotoerr1
err1:
msgboxerr.number&err.Description'程序错误编号和类型
还告诉大家vb里面有个控件可以生成连接字符串.....
components或者直接按Ctrl T..添加MicrosoftADODataControl6.0(OLEDB)控件
控件属性里面的选择第三个选项UseConnectionString然后点Build配置字符串就可以了..
配置完以后就可以把这个控件删掉.....
就讲说这里了....上面已经基本实现了主题的功能..大家还可以自己改进一下...是不是很简单喔
大家有什么问题可以找我一起研究..
===============================================
本文版权属20CN网络安全小组及其作者所有,如有转载,请保持文章完整性并注明出处
编写:特务
QQ:27272855
E-mail:XF_Mengqier@163.com->
}如果Command对象被标记为RecordsetReturning(在“CommandProperties"对话框的“高级”选项卡中),那么也创建一个ADORecordset对象
public T getMapper(Class type) {代码如下:
MsgBoxReplace("Disknotready.§§Pleasecheckthatthedisketteisinthe"&"drive§andthatthedrive'sdoorisclosed.","§",vbCr)->
);app
----下面是本人在给单位开发一个产品销售情况统计分析软件的过程中,使用Printer对象从Recordset对象的虚拟表中打印数据的通用代码:
SubPrintRecordset(recRecordsetasRecordset)
DimLeftMarginAsInteger
DimHeadTopPositionAsInteger
DimFieldNumAsInteger
DimPageCounterAsInteger
DimMyRecordsetAsRecordset
ConstFooterTopPosition=24
SetMyRecordset=recRecordset
PageCounter=1
'设置Printer对象坐标的度量单位为厘米
Printer.ScaleMode=vbCentimeters
LeftMargin=1.5
HeadTopPosition=2
----'定义打印页左上角的X坐标和Y坐标,通过改变ScaleLeft和ScaleTop的值,可改变打印页的左边距和上边距
Printer.ScaleLeft=-LeftMargin
Printer.ScaleTop=-HeadTopPosition
Printer.Font.Name="TimesNewRoman"
Printer.Font.Size=12
Printer.Print"LovesoftCorp."
Printer.Print""
IfMyRecordset.EOFAndMyRecordset.BOFThen
MsgBox"NoRecordAtPresend!",
vbCritical vbOKOnly,"PrintError"
ExitSub
EndIf
MyRecordset.MoveFirst
DoUntilPrinter.CurrentY>FooterTopPosition
'Printthefieldsoftherecordsetinsequence
ForFieldNum=0ToMyRecordset.Fields.Count-1
Printer.PrintMyRecordset.Fields
(FieldNum).Name&_
":"&_
MyRecordset.Fields(FieldNum).Value
IfPrinter.CurrentY>FooterTopPositionThen
Printer.CurrentX=8
Printer.Print"Page:"&PageCounter
'创建多页文档
Printer.NewPage
PageCounter=PageCounter 1
EndIf
NextFieldNum
MyRecordset.MoveNext
IfMyRecordset.EOFThenExitDo
'在记录之间空一行
Printer.Print""
Loop
'PrintthePagenumberasafooter
Printer.CurrentX=8
Printer.CurrentY=FooterTopPosition
Printer.Print"Page:"&PageCounter
'将输出送到打印机
Printer.EndDoc
EndSub
----调用上述PrintRecordset通用过程相当方便,下面是通过cmdPrint按钮的Click事件进行调用的一个实例:
PrivateSubcmdPrint_Click()
PrintRecordsetData1.Recordset
EndSub->不过 IDEA 默认会显示黄色,提示让你将 Guava 表达式迁移到 Java Api 上。