我正在研究一个正在将t-sql过程转换为vb.net代码的projec,我一直在考虑如何写一些整洁的东西,在vb.net中清洁。
例如,这是T-SQL:
insert into X(
column1,
column2,
.....,
column100)
select
column1,
column2,
.....,
column100
from Y
我应该如何将此语句转换为vb.net?如果我使用字符串构建器,那将是:
Dim sb As New StringBuilder()
With sb
.Append("Insert into x(")
.Append("column1,")
.Append("column2,")
.Append("...,")
......
End With
代码太长。有更好的选择吗?
,因为不幸的是,在C#中没有逐字字符串文字,您可以在其中写下:
string insertSQL = @"
insert into X(
column1,
column2,
.....,
column100)
select
column1,
column2,
.....,
column100
from Y
";
您可以使用XML文字来获得类似的行为:
Dim insertSQL As String = <![CDATA[
insert into X(
column1,
column2,
.....,
column100)
select
column1,
column2,
.....,
column100
from Y
]]>.Value
详细的经典方式是使用:
Dim insertSQL As String = "insert into X( " & vbCrLf &
"column1, " & vbCrLf &
"column2, " & vbCrLf &
"....., " & vbCrLf &
"column100) " & vbCrLf &
"select " & vbCrLf &
"column1, " & vbCrLf &
"column2, " & vbCrLf &
"....., " & vbCrLf &
"column100 " & vbCrLf &
"from Y "
对不起,我没有将其称为"评论"的声誉,但是根据我的经验,linq在缩短了SQL程序方面有很大帮助。
https://msdn.microsoft.com/en-us/library/bb386946(v = vs.110).aspx