2013-04-30 3 views
1
Imports System.Data 
Imports System.Data.SqlClient 


Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 


     Dim con As New SqlConnection 
     Dim cmd As New SqlCommand 
     Dim Tx1 As String 

     Tx1 = TextBox1.Text 

     con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DBTestX.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" 

     con.Open() 

     cmd.Connection = con 
     cmd.CommandText = "INSERT INTO TestTable(Test) VALUES(@Tx1)" 
     cmd.ExecuteNonQuery() 

     con.Close() 


    End Sub 
End Class 

이 코드에서 볼 수 있고 시각화 할 수있는 것처럼 하나의 양식, 1 개의 텍스트 상자 및 1 개의 버튼 만 있습니다.스칼라 값을 선언해야합니다. @ Tx1

VB Express 2010과 SQL Server 2008을 사용하여 Project > Add New Item > Service-Based Database 등을 클릭하여 SQL 데이터베이스와 테이블을 만들었습니다. 원하는 작업은 textbox1에있는 새 데이터를 테이블의 유일한 열에 삽입하는 것입니다. . 그러나, 나는 그렇게 할 수 없다.

문제의 원인을 지적 해 주시겠습니까? 다른 제안?

답변

2

거의 다 왔어. 당신은 매개 변수를 추가 할 때 길이를 제공해야합니다

cmd.Connection = con 
cmd.CommandText = "INSERT INTO TestTable(Test) VALUES(@Tx1)" 
cmd.Parameters.Add("@Tx1", SqlDbType.VarChar, <length of your column>).Value = Tx1 
cmd.ExecuteNonQuery() 

: 당신은 @Tx1 매개 변수를 추가하고 값을 설정해야합니다.

또한 VB.NET을 자주 사용하지 않으므로 예제와 함께 C#으로 빠져 들었을 수 있습니다. 죄송합니다. 사전에 사과드립니다. :)

+0

고맙습니다 ... 제가 생각하기에 DBTestX.mdf라는 데이터베이스 파일의 이름을 마우스 오른쪽 버튼으로 클릭 한 다음 데이터 테이블 표시를 클릭하면 열립니다. 데이터가 없습니다 .. 삽입 된 데이터가 없습니다 ... 새 코드를 추가해야합니까? 또는 그것을 잘못보고있는 im? 고맙습니다. –

+0

어떻게 대답 할 수 있습니까? 정보를 주셔서 대단히 감사합니다^_^ –

+0

저는 VB.NET에 끔찍하지만 도움을 구할 것입니다. 내가 생각할 수있는 유일한 것은 : 잡히지 않은 예외가 있었습니까? 디버거에서'cmd.ExecuteNonQuery'를 실행하여 정상적으로'cmd.Close'가 진행되는지 확인할 수 있습니까? 그렇지 않으면 예외를 볼 수 있어야합니다. 그리고 예외를 볼 수 없다면'cmd.Parameters.Add'와'cmd.ExecuteNonQuery'를'try' /'catch'에서 둘러보십시오. 내가 무엇을 보는지 알리자 ... –

관련 문제