2017-03-13 11 views
0

私は3つの文字列を持っています。 1. str1 = "450" 2. str2 = "SKDR" 3. str3 = "008001"。私はこれらの3つの弦に加わりたい。 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 
+0

intが先行ゼロを持たないであろう。 あなたはvarcharを使用してそれを埋めなければなりません。 例:RIGHT( '00000000' + Convert(VARCHAR(8)、myInt)、8) – AntDC

+1

[方法:先行ゼロで数字を埋め込む](https://msdn.microsoft.com/en-us/library/dd260048) (v = vs.110).aspx) –

+1

あなたはSQLインジェクションに対して脆弱です。 *決して*文字列連結を使用してSQL文を作成しないでください。常にパラメーターを使用してください。 – Richard

答えて

2

先行ゼロを含めるには、In32.ToStringに渡されるカスタムフォーマット文字列を使用します。

例:

Dim x = 42 
Console.WriteLine(x.ToString("000000")) 

意志出力

 
000042 
関連する問題