集中整理ArcEngin在VB环境下开发时用到的资料Word格式.docx
《集中整理ArcEngin在VB环境下开发时用到的资料Word格式.docx》由会员分享,可在线阅读,更多相关《集中整理ArcEngin在VB环境下开发时用到的资料Word格式.docx(23页珍藏版)》请在冰点文库上搜索。
![集中整理ArcEngin在VB环境下开发时用到的资料Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/bd612154-0431-4c3c-b9b1-5a6da7cb8bbb/bd612154-0431-4c3c-b9b1-5a6da7cb8bbb1.gif)
#EndRegion
subnew"
SubNew(ByValAccessFileNameAsString)
ConnectionStr="
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource="
&
AccessFileName
Conn=NewOleDb.OleDbConnection(ConnectionStr)
EndSub
SubNew()
显示数据"
PublicSubShowRecords(ByValDGAsDataGridView,ByValAccesTableNameAsString)
DimsqlStringAsString="
SELECT*FROM
"
AccesTableName
DG.ReadOnly=True
DimmyDataSetAsNewDataSet()
UsingConn
Conn.Open()
DimmyCommandAsOleDbDataAdapter=NewOleDbDataAdapter(sqlString,Conn)
myCommand.Fill(myDataSet,AccesTableName)
DG.DataSource=myDataSet.Tables(0)
Conn.Close()
EndUsing
PublicSubShowRecords(ByValDGAsDataGridView,ByValAccesTableNameAsString,ByValcolsAsCollection)
SELECT"
DimiAsInteger
Fori=1Tocols.Count-1
sqlString=sqlString&
cols.Item(i)&
"
Next
cols.Item(cols.Count)
from"
DimmyConnAsNewOleDb.OleDbConnection(ConnectionStr)
UsingmyConn
myConn.Open()
DimmyCommandAsOleDbDataAdapter=NewOleDbDataAdapter(sqlString,myConn)
myConn.Close()
PublicFunctionShowRecords(ByValAccessTableNameAsString)AsDataTable
AccessTableName
DimmyDataSetAsNewDataSet
myCommand.Fill(myDataSet,AccessTableName)
ReturnmyDataSet.Tables(0)
EndFunction
添加数据"
PublicSubAddRecord(ByValDGAsDataGridView,ByValAccesTableNameAsString,_
ByValColsAsCollection,ByValValsAsCollection)
insertinto"
AccesTableName&
("
Fori=1ToCols.Count-1
Cols.Item(i).ToString&
"
Cols.Item(Cols.Count).ToString&
)values("
Fori=1ToVals.Count-1
?
)"
'
时间表达式2009-12-2
货币相当字符串如:
333"
添加后显示"
¥333.00"
ole对象,相当于二进制的数组
DimmyCommandAsOleDbCommand=NewOleDbCommand(sqlString,myConn)
Fori=1ToVals.Count
myCommand.Parameters.Add(NewOleDb.OleDbParameter).Value=Vals(i)
myCommand.ExecuteNonQuery()
在dg中更新
ShowRecords(DG,AccesTableName)
PublicSubAddRecord(ByValAccesTableNameAsString,_
ByValColsAsCollection,ByValValsAsCollection)
DimmyCommandAsOleDbCommand=NewOleDbCommand(sqlString,Conn)
数据更新"
PublicSubUpdateRecord(ByValDGAsDataGridView,ByValAccesTableNameAsString,_
ByValColsAsCollection,ByValValsAsCollection,ByValIndexColumnNameAsString,ByValIndexValueAsObject,ByValisShowSqlStringAsBoolean)
update"
set"
IfVals.Item(i).GetType.Name="
String"
Then
='
Vals.Item(i)&
'
ElseIfVals.Item(i).GetType.Name.Contains("
Date"
)Then
Else
="
EndIf
Vals.Item(Cols.Count)&
Vals.Item(Cols.Count)
IfIndexValue.GetType.Name="
where"
IndexColumnName&
IndexValue&
IndexValue
目前只能实现更加数字,文本,是否来选取,时间等还没有实现,使用的时候要注意
IfisShowSqlStringThenMsgBox(sqlString)
DimcmdAsOleDbCommand=NewOleDbCommand(sqlString,Conn)
cmd.ExecuteNonQuery()
DimdtAsDataTable=DG.DataSource
ForEachrAsDataRowIndt.Rows
Ifr(IndexColumnName)=IndexValueThen
Fori=1ToCols.Count
r.Item(Cols(i))=Vals(i)
ByValColsAsCollection,ByValValsAsCollection,ByValisShowSqlStringAsBoolean)
DimjAsInteger
Forj=1ToCols.Count
r.Item(Cols(i))=Vals(j)
删除数据"
PublicSubDeleteRecord(ByValDGAsDataGridView,ByValAccesTableNameAsString,ByValIdAsInteger)
deletefrom"
whereid="
Id
Try
DiminstAsOleDbCommand=NewOleDbCommand(sqlString,myConn)
inst.ExecuteNonQuery()
CatchexAsException
MsgBox(ex.Message)
EndTry
查找"
开头是
PublicFunctionSelectRecordsByString(ByValAccesTableNameAsString,_
ByValcolsAsCollection,ByValvalsAsCollection)AsDataTable
where("
Ifvals.Count=1ThenReturnNothing
Fori=1Tovals.Count-1
cols(i)&
vals.Item(i)&
or"
vals.Item(vals.Count)&
)"
MsgBox(sqlString)
DimmyCommandAsOleDbDataAdapter=NewOleDbDa