【发布时间】:2017-08-03 09:06:34
【问题描述】:
我有三个字符串。 1.str1="450" 2.str2="SKDR" 3.str3="008001"。我想加入这三个字符串。每次str3值都应该加1。如果我们把它当作整数,那么初始的零将被截断。
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Dim d1 As String = ""
Dim s As String = ""
Dim dtqry1 As Integer = 0
Dim br As String = dgvCanaraBankCAU.CurrentRow.Cells(2).Value.ToString
Dim pro As String = dgvCanaraBankCAU.CurrentRow.Cells(3).Value.ToString
Dim dtqry As DataTable = mainModule.DatabaseTableQuery("SELECT DPNO,StartNumber from Master_CINumber where Branch='" + br + "' and ProjectOffice='" + pro + "'")
If dtqry.Rows.Count > 0 Then
For Each dr As DataRow In dtqry.Rows
d1 = dr(0).ToString
s = dr(1).ToString
Next
Dim chk As DataTable = mainModule.DatabaseTableQuery("Select * from CBEntry where BankBranch='" + br + "' and ProjectOffice='" + pro + "'")
If chk.Rows.Count = 0 Then
dtqry1 = Val(s)
Else
dtqry1 = mainModule.DatabaseScalarQuery("SELECT max(startNumber) from CBEntry where BankBranch='" + br + "' and ProjectOffice='" + pro + "'")
dtqry1 = dtqry1 + 1
End If
End If
End Sub
【问题讨论】:
-
一个 int 不会有前导零。您必须使用 varchar 并填充它。例如 RIGHT('00000000' + Convert(VARCHAR(8), myInt), 8)
-
您的代码易受 SQL 注入攻击。 从不 使用字符串连接来构建 SQL 语句。始终使用参数。
标签: sql-server string vb.net type-conversion