2013-07-27 3 views
2

이것은 데이터 테이블에 데이터를 삽입하는 코드입니다. Execute 메시지가 "성공"일 때. 그러나 데이터 테이블에 데이터가 없습니다.vb.net을 사용하여 SQL 데이터베이스에서 데이터를 삽입, 업데이트 및 삭제 하시겠습니까?

Imports System.Data 
Imports System.Data.SqlClient 

Partial Public Class _Default 
    Inherits System.Web.UI.Page 
    Dim s As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=G:\ANDY\Dot Net.Practical\SQL DATA BASE\inserting4\inserting4\App_Data\location.mdf;Integrated Security=True;User Instance=True" 
    Dim sql As String 
    Dim con As New SqlConnection 
    Dim cmd As SqlCommand 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

     con = New SqlConnection(s) 
     con.Open() 

    End Sub 

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

     sql = "insert into location(name,street,city)values(@name,@street,@city)" 
     cmd = New SqlCommand(sql, con) 

     cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = TextBox1.Text 
     cmd.Parameters.Add("@street", SqlDbType.NVarChar).Value = TextBox2.Text 
     cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = TextBox3.Text 
     cmd.ExecuteNonQuery() 

     MsgBox("SUCCESS") 


    End Sub 
End Class 
+0

당신은 ExecuteNonQuery''전에 열려있는 연결 문자열을 누락입니다 – Marek

+0

가능한 [C#에서 sql 명령을 사용하여 문제 삽입] (http://stackoverflow.com/questions/3317868/insert-problem-in-c-using-sqlcommand) –

답변

2

전체 사용자 인스턴스 및 인 AttachDBFilename = 접근 방식은 결함이 - 기껏! Visual Studio에서 앱을 실행하면 App_Data 디렉토리에서 출력 디렉토리 (일반적으로 앱이 실행되는 .\bin\debug - ) 일 때 일 가능성이 높고 INSERT은 정상적으로 작동하지만 파일은 .mdf 개 파일로 복사됩니다. 그냥 잘못된 .mdf 파일 결국 봐!

이 방법을 계속 사용하려면 myConnection.Close() 호출에 중단 점을 넣은 다음 SQL Server Mgmt Studio Express를 사용하여 .mdf 파일을 검사하십시오. 데이터가 거의 확실합니다. 내 의견

진정한 해결책는 SQL Server Express를 설치

  1. 하는 것

  2. SQL Server 관리 Studio Express를 설치

  3. (당신은 이미 했어 어쨌든)
  4. 데이터베이스를 만들려면 SSMS Express, 논리 이름을 지정하십시오 (예 : Location)

  5. 데이터베이스 이름 (서버에서 만들 때 제공됨)을 사용하여 연결하고 실제 데이터베이스 파일과 사용자 인스턴스를 사용하지 마십시오. 이 경우, 연결 문자열은 같은 것입니다 :

    Data Source=.\\SQLEXPRESS;Database=Location;Integrated Security=True 
    

    및 다른 모든 정확히 이전과 동일 ...

관련 문제