📄 clscsharpcoder.cls
字号:
'有条件批量更新
Codes = Codes & vbTab & vbTab & "/// <summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// 有条件批量更新" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// <param name=" & Chr(34) & "spc" & Chr(34) & ">设置参数集</param>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// <param name=" & Chr(34) & "qpc" & Chr(34) & ">检索参数集</param>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// </summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "public void Update(SetParamsCollection spc, QueryParamsCollection qpc)" & vbCrLf
Codes = Codes & vbTab & vbTab & "{" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "SqlCommand Cmd = BuildCommand(" & Chr(34) & "UPDATE [" & ObjectName & "] " & Chr(34) & " + spc.ToString() + qpc.ToString());" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "Cmd.ExecuteNonQuery();" & vbCrLf
Codes = Codes & vbTab & vbTab & "}" & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & vbCrLf
'无条件批量更新
Codes = Codes & vbTab & vbTab & "/// <summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// 无条件批量更新" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// <param name=" & Chr(34) & "spc" & Chr(34) & ">设置参数集</param>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// </summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "public void Update(SetParamsCollection spc)" & vbCrLf
Codes = Codes & vbTab & vbTab & "{" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "Update(spc,new QueryParamsCollection());" & vbCrLf
Codes = Codes & vbTab & vbTab & "}" & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & vbCrLf
'有条件批量删除
Codes = Codes & vbTab & vbTab & "/// <summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// 有条件批量删除" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// <param name=" & Chr(34) & "pqc" & Chr(34) & ">检索参数集</param>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// </summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "public void Delete(QueryParamsCollection pqc)" & vbCrLf
Codes = Codes & vbTab & vbTab & "{" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "SqlCommand Cmd = BuildCommand(" & Chr(34) & "DELETE FROM [" & ObjectName & "] " & Chr(34) & " + pqc.ToString());" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "Cmd.ExecuteNonQuery();" & vbCrLf
Codes = Codes & vbTab & vbTab & "}" & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & vbCrLf
'无条件批量删除
Codes = Codes & vbTab & vbTab & "/// <summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// 无条件批量删除" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// </summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "public void Delete()" & vbCrLf
Codes = Codes & vbTab & vbTab & "{" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "Delete(new QueryParamsCollection());" & vbCrLf
Codes = Codes & vbTab & vbTab & "}" & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & vbCrLf
'无条件批量删除
Codes = Codes & vbTab & vbTab & "/// <summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// 按ID分割批量删除" & vbCrLf
Codes = Codes & vbTab & vbTab & "/// </summary>" & vbCrLf
Codes = Codes & vbTab & vbTab & "public void DeleteSplitedIDs(string splitedIDs)" & vbCrLf
Codes = Codes & vbTab & vbTab & "{" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "SqlCommand Cmd = BuildCommand(" & Chr(34) & "DELETE FROM [" & ObjectName & "] WHERE " & ID & " in (" & Chr(34) & " + splitedIDs + " & Chr(34) & ")" & Chr(34) & ");" & vbCrLf
Codes = Codes & vbTab & vbTab & vbTab & "Cmd.ExecuteNonQuery();" & vbCrLf
Codes = Codes & vbTab & vbTab & "}" & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & vbTab & "}" & vbCrLf '类结束
Codes = Codes & "}" & vbCrLf
'保存 操作类 文件
Call SaveFile(EntityBasePath & "\" & strName & "Base.cs", Codes)
'新建扩展操作类
Dim MakeHasCanceled As Boolean
MakeHasCanceled = False
RaiseEvent MakingExtends(MakeHasCanceled)
If MakeHasCanceled = False Then
Codes = Empty
Codes = Codes & "using System;" & vbCrLf
Codes = Codes & "using System.Collections;" & vbCrLf
Codes = Codes & "using System.Data;" & vbCrLf
If adtAdoType = OleDb Then
Conn = "System.Data.OleDb.OleDbConnection"
Codes = Codes & "using System.Data.OleDb;" & vbCrLf
Else
Conn = "System.Data.SqlClient.SqlConnection"
Codes = Codes & "using System.Data.SqlClient;" & vbCrLf
End If
Codes = Codes & "using " & sNameSpace & "DataAS.Base;" & vbCrLf
Codes = Codes & "using " & sNameSpace & "DataAS.Details;" & vbCrLf
Codes = Codes & "using " & sNameSpace & "DataAS.EntityBase;" & vbCrLf
Codes = Codes & vbCrLf
Codes = Codes & "namespace " & sNameSpace & "DataAS" & vbCrLf
Codes = Codes & "{" & vbCrLf
Codes = Codes & vbTab & "public class " & ClassName & " : " & ClassName & "Base" & vbCrLf
Codes = Codes & vbTab & "{" & vbCrLf '类开始
'操作类构造函数
Codes = Codes & vbTab & vbTab & "public " & ClassName & "(){}" & vbCrLf
Codes = Codes & vbTab & vbTab & vbCrLf
Codes = Codes & vbTab & vbTab & "public " & ClassName & "(string ConnString):base(ConnString){}" & vbCrLf
Codes = Codes & vbTab & vbTab & vbCrLf
Codes = Codes & vbTab & vbTab & "public " & ClassName & "(" & Conn & " Connection):base(Connection){}" & vbCrLf
Codes = Codes & vbTab & vbTab & vbCrLf
Codes = Codes & vbTab & "}" & vbCrLf '类开始
Codes = Codes & "}" & vbCrLf
'保存 扩展操作类 文件
Call SaveFile(Path & "\" & strName & ".cs", Codes)
End If
If adtAdoType = OleDb Then
CodeFileCopy App.Path & "\DAL_BASE\DbObject_OleDb.cs", BasePath & "\DbObject.cs"
ElseIf adtAdoType = Sql Then
CodeFileCopy App.Path & "\DAL_BASE\DbObject_Sql.cs", BasePath & "\DbObject.cs"
End If
CodeFileCopy App.Path & "\DAL_BASE\QPCAbout.cs", QPCPath & "\QPCAbout.cs"
CodeFileCopy App.Path & "\DAL_BASE\QueryParameter.cs", QPCPath & "\QueryParameter.cs"
CodeFileCopy App.Path & "\DAL_BASE\QueryParamsCollection.cs", QPCPath & "\QueryParamsCollection.cs"
CodeFileCopy App.Path & "\DAL_BASE\SPCAbout.cs", SPCPath & "\SPCAbout.cs"
CodeFileCopy App.Path & "\DAL_BASE\SetParameter.cs", SPCPath & "\SetParameter.cs"
CodeFileCopy App.Path & "\DAL_BASE\SetParamsCollection.cs", SPCPath & "\SetParamsCollection.cs"
RaiseEvent ClassExported(ClassName)
RaiseEvent ExportStep(i + 1)
Next i
RaiseEvent ExportCompleted
End Sub
Public Sub CodeFileCopy(ByVal SrcPath As String, ByVal TargetPath As String)
Dim filenumber As Long
Dim srcContents() As Byte, outputDatas() As Byte
Dim Text As String
filenumber = FreeFile
ReDim srcContents(FileLen(SrcPath))
Open SrcPath For Binary As #filenumber
Get #filenumber, , srcContents
Close #filenumber
Text = Replace(StrConv(srcContents, vbUnicode), "{namespace}.", sNameSpace)
outputDatas = StrConv(Text, vbFromUnicode)
filenumber = FreeFile
Open TargetPath For Binary As #filenumber
Put #filenumber, , outputDatas
Close #filenumber
End Sub
Private Function GetCSharpType(ByVal TypeText As String) As String
Select Case LCase(TypeText)
Case "int"
GetCSharpType = "Convert.ToInt32"
Case "long"
GetCSharpType = "Convert.ToInt64"
Case "bool"
GetCSharpType = "Convert.ToBoolean"
Case "float"
GetCSharpType = "Convert.ToSingle"
Case "string"
GetCSharpType = "Convert.ToString"
Case "datetime"
GetCSharpType = "Convert.ToDateTime"
Case "money"
GetCSharpType = "Convert.ToDouble"
Case "text"
GetCSharpType = "Convert.ToString"
End Select
End Function
Private Function GetType(ByVal TypeText As String) As String
If adtAdoType = OleDb Then
Select Case LCase(TypeText)
Case "int"
GetType = AdoName & "Type.Integer"
Case "long"
GetType = AdoName & "Type.BigInt"
Case "bool"
GetType = AdoName & "Type.Boolean"
Case "float"
GetType = AdoName & "Type.Single"
Case "string"
GetType = AdoName & "Type.VarChar"
Case "datetime"
GetType = AdoName & "Type.Date"
Case "money"
GetType = AdoName & "Type.Currency"
Case "text"
GetType = AdoName & "Type.VarChar"
End Select
ElseIf adtAdoType = Sql Then
Select Case LCase(TypeText)
Case "int"
GetType = AdoName & "DbType.Int"
Case "long"
GetType = AdoName & "DbType.BigInt"
Case "bool"
GetType = AdoName & "DbType.Bit"
Case "float"
GetType = AdoName & "DbType.Float"
Case "string"
GetType = AdoName & "DbType.NVarChar"
Case "datetime"
GetType = AdoName & "DbType.DateTime"
Case "money"
GetType = AdoName & "DbType.Money"
Case "text"
GetType = AdoName & "DbType.Text"
End Select
End If
End Function
Private Sub SaveFile(ByVal FilePath As String, ByVal Contents As String)
Open FilePath For Output As #1
Print #1, Contents
Close #1
End Sub
Private Function GetClassName(ByVal strName As String) As String
GetClassName = UCase(Left(strName, 1)) & Right(strName, Len(strName) - 1)
End Function
Private Function GetObjectName(ByVal strName As String) As String
GetObjectName = LCase(Left(strName, 1)) & Right(strName, Len(strName) - 1)
End Function
Private Function FilterToCSharp(ByVal AdoType As String) As String
'将Ado.net 数据类型转换为 C#类型
Select Case AdoType
Case "text"
FilterToCSharp = "string"
Case Else
FilterToCSharp = AdoType
End Select
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -