前言
VB对数据库
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou2.gif)
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou2.gif)
![](/icons/57918de.gif)
![](/icons/57918de.gif)
![](/icons/57918dou2.gif)
![](/icons/57918diaoyong.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou2.gif)
![](/icons/57918diaoyong.gif)
![](/icons/57918de.gif)
![](/icons/57918de.gif)
![](/icons/57918dou2.gif)
![](/icons/57918yi.gif)
该类型是由有效
![](/icons/57918de.gif)
![](/icons/57918dou2.gif)
请见图示1
在现阶段开发设计ERP系统项目中
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou2.gif)
2、我们以ADO为例来介绍说明其实现步骤
现在动态
![](/icons/57918diaoyong.gif)
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918diaoyong.gif)
1>、使用Northwind
![](/icons/57918de.gif)
![](/icons/57918de.gif)
Createprocedure"EmployeeSalesbyCountry"
@Beginning_DateDateTime,@Ending_DateDateTimeAS
SELECTEmployees.Country,Employees.LastName,Employees.FirstName,
Orders.ShippedDate,Orders.OrderID,"OrderSubtotals".SubtotalASSaleAmount
FROMEmployeesINNERJOIN
(OrdersINNERJOIN"OrderSubtotals"ONOrders.OrderID="OrderSubtotals".OrderID)
ONEmployees.EmployeeID=Orders.EmployeeID
WHEREOrders.ShippedDateBetween@Beginning_DateAnd@Ending_Date
GO
2>、在VB中生成
![](/icons/57918yi.gif)
![](/icons/57918dou.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou2.gif)
请见图示2
3>、编程
![](/icons/57918de.gif)
基于SQLServer数据库表结构定义DateTime类型
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918de.gif)
![](/icons/57918diaoyong.gif)
![](/icons/57918dou.gif)
①.定义:DimDt10,DT20asVariant
②.采集动态日期赋值于以上两个变量中
DT10=Format(Trim(DT1.Value),"yyyy-mm-dd")
DT20=Format(Trim(DT2.Value),"yyyy-mm-dd")
具备以上条件
![](/icons/57918dou.gif)
![](/icons/57918de.gif)
![](/icons/57918dou2.gif)
下面就严格执行
![](/icons/57918diaoyong.gif)
![](/icons/57918dou2.gif)
![](/icons/57918de.gif)
![](/icons/57918dou2.gif)
![](/icons/57918de.gif)
![](/icons/57918chengxu.gif)
![](/icons/57918diaoyong.gif)
![](/icons/57918de.gif)
①.窗体变量
![](/icons/57918de.gif)
OptionExplicit
DimCNN1AsADODB.Connection’连接
DimRSAsADODB.Record
![](/icons/57918set.gif)
DimStrCnnAsString’连接
![](/icons/57918zifu.gif)
DimDT10,DT20AsVariant’日期变量
DimiAsInteger’字段
![](/icons/57918de.gif)
②.[基本格式]存储过程
![](/icons/57918de.gif)
![](/icons/57918diaoyong.gif)
PrivateSubCommand1_Click
![](/icons/57918kh.gif)
![](/icons/57918diaoyong.gif)
OnErrorResumeNext
DimCmdAsADODB.Command’命令
DimParAsADODB.Parameter’参数
’声明并
![](/icons/57918chushi.gif)
![](/icons/57918yi.gif)
![](/icons/57918de.gif)
DT10=Format(Trim(DT1.Value),"yyyy-mm-dd")’起始日期赋值
DT20=Format(Trim(DT2.Value),"yyyy-mm-dd")’截止日期赋值
SetCmd=NewADODB.Command’指定cmd
![](/icons/57918de.gif)
Cmd.ActiveConnection=CNN1
’指定该cmd
![](/icons/57918de.gif)
’设置要执行
![](/icons/57918de.gif)
Cmd.CommandType=adCmdStoredProc’表明cmd为存储过程
Cmd.CommandText="[EmployeeSalesbyCountry]"’
![](/icons/57918diaoyong.gif)
SetPar=Cmd.CreateParameter("Beginning_Date",adDBDate,adParamInput,,DT10)
Cmd.Parameters.AppendPar
SetPar=Cmd.CreateParameter("Ending_Date",adDBDate,adParamInput,,DT20)
Cmd.Parameters.AppendPar
SetRS=Cmd.Execute
![](/icons/57918kh.gif)
’在ListviewControl控件中显示RstByQuery记录集有效行
IfDT10<DT20Then’
![](/icons/57918diaoyong.gif)
![](/icons/57918de.gif)
IfRS.Fields.Count>0Then’确认字段
![](/icons/57918de.gif)
i=RS.Fields.Count
ListrecRS,LV
RS.Close
EndIf
EndIf
EndSub
③.[简捷格式]存储过程
![](/icons/57918de.gif)
![](/icons/57918diaoyong.gif)
PrivateSubCommand2_Click
![](/icons/57918kh.gif)
![](/icons/57918diaoyong.gif)
OnErrorResumeNext
DT10=Format(Trim(DT1.Value),"yyyy-mm-dd")
DT20=Format(Trim(DT2.Value),"yyyy-mm-dd")
SetRS=CNN1.Execute("[EmployeeSalesbyCountry]’"&DT10&"’,’"&DT20&"’")
IfDT10<DT20Then
’在ListviewControl控件中显示RS记录集有效行
IfRS.Fields.Count>0Then
i=RS.Fields.Count
ListrecRS,LV
RS.Close
EndIf
EndIf
EndSub
④.[
![](/icons/57918diaoyong.gif)
![](/icons/57918de.gif)
PrivateSubCommand3_Click
![](/icons/57918kh.gif)
![](/icons/57918diaoyong.gif)
OnErrorResumeNext
DimSql1AsString
DT10=Format(Trim(DT1.Value),"yyyy-mm-dd")
DT20=Format(Trim(DT2.Value),"yyyy-mm-dd")
SetRS=NewRecord
![](/icons/57918set.gif)
’对字段进行中文提示
![](/icons/57918de.gif)
Sql1="SELECTEmployees.Countryas’国别’,Employees.LastNameas’姓名’,Employees.FirstNameas’曾用名’,
Orders.ShippedDateas’日期’,Orders.OrderIDas’序号’,[OrderSubtotals].SubtotalAS’销售合计’FROM
EmployeesINNERJOIN(OrdersINNERJOIN[OrderSubtotals]ONOrders.OrderID=[OrderSubtotals].OrderID)
ONEmployees.EmployeeID=Orders.EmployeeIDWHEREOrders.ShippedDateBetween’"&DT10&"’AND’"&DT20&"’"
IfLen(Sql1)>0Then
RS.OpenSql1,CNN1,adOpenStatic,adLockOptimistic
’在ListviewControl控件中显示RstByQuery记录集有效行
IfRS.Fields.Count>0Then
i=RS.Fields.Count
ListrecRS,LV
RS.Close
EndIf
EndIf
EndSub
⑤.将结果集装入到ListViewControl控件中
SubListrec(ByRefRSAsRecord
![](/icons/57918set.gif)
DimheadAsColumnHeader
DimItemAsListItem
DimK,P,QAsInteger
K=0
’
![](/icons/57918chushi.gif)
![](/icons/57918de.gif)
LV.ToolTipText=""
LV.View=lvwReport
LV.GridLines=True
LV.LabelEdit=lvwManual
LV.ListItems.Clear
LV.ColumnHeaders.Clear
Fori=0ToRS.Fields.Count-1
’由于item.text不接受null,故预先于空串作连接
Sethead=LV.ColumnHeaders.Add
head.Text=RS.Fields(i).Name
Next
WhileNotRS.EOF
SetItem=LV.ListItems.Add
Item.Text=""&RS.Fields(0).Value
Fori=1ToRS.Fields.Count-1
Item.SubItems(i)=""&RS.Fields(i).Value
Next
K=K+1
RS.MoveNext
Wend
Text1.Text=""
Text1.Text=CStr(K)
LV.ToolTipText="有效记录条数:"+CStr(K)
EndSub
⑥.工程\\引用和连接SQLServer数据库
*本文使用ADO
![](/icons/57918dou.gif)
![](/icons/57918dou2.gif)
*连接SQLServer2000数据库
PrivateSubForm_Load
![](/icons/57918kh.gif)
![](/icons/57918de.gif)
SetCNN1=NewADODB.Connection
’使用Connection对象
![](/icons/57918de.gif)
![](/icons/57918de.gif)
StrCnn="Provider=SQLOLEDB;DataSource=NO1;UserID=sa;pwd=;InitialCatalog=Northwind"
CNN1.OpenStrCnn’打开连接
结束语
现已将VB中实现动态
![](/icons/57918diaoyong.gif)
![](/icons/57918de.gif)
![](/icons/57918dou.gif)
![](/icons/57918diaoyong.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou.gif)
![](/icons/57918diaoyong.gif)
![](/icons/57918yi.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou.gif)
![](/icons/57918dou2.gif)
本
![](/icons/57918chengxu.gif)
![](/icons/57918de.gif)
![](/icons/57918dou2.gif)
最新评论