2013-11-15 2 views
1

안녕하세요, 저는 2012 년 시각 스튜디오에서 연결 문자열 데이터베이스를 사용하고 있습니다. 데이터베이스에 데이터를 보내려고하는데 코드에는 오류가 없지만 실행되지 않습니다. 내가 몇 시간 동안 그것에 있었고, 약간의 잠을 필요로하는 것에 따라 도움은 훌륭할 것이다. 감사합니다. .데이터 입력 asp.net C# SQL

기본 페이지 코드

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Data; 

namespace WebApplication1 
{ 
    public partial class _Default : Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      SqlConnection cs = new SqlConnection("Data Source = (LocalDB)\v11.0; Initial Catalog = Database1; Integrated Security = true"); 
      SqlDataAdapter da = new SqlDataAdapter(); 
      da.InsertCommand = new SqlCommand("INSERT INTO Adopter (FIRSTNAME,LASTNAME) VALUES (@FIRSTNAME,@LASTNAME)", cs); 
      da.InsertCommand.Parameters.Add("@FIRSTNAME", SqlDbType.VarChar).Value = firstname.Text; 
      da.InsertCommand.Parameters.Add("@LASTNAME", SqlDbType.VarChar).Value = lastname.Text; 

      cs.Open(); 
      da.InsertCommand.ExecuteNonQuery(); 
      cs.Close(); 
     } 

     protected void firstname_TextChanged(object sender, EventArgs e) 
     { 

     } 

     protected void lastname_TextChanged(object sender, EventArgs e) 
     { 

     } 


     } 
    } 

SQL 코드

CREATE TABLE [dbo].[Adopter] (
    [FIRSTNAME] VARCHAR (50) NOT NULL, 
    [LASTNAME] VARCHAR (50) NOT NULL, 
); 

난 그냥 캔트 그것을보고 ... 간단 뭔가 알고 있습니다.

+0

테이블에 쓰고 있든 없습니까? 심지어 데이터베이스에 연결할 수 있습니까? "실행되지 않습니다.", 우리가 당신을 도울만큼 충분히 설명 적이 지 않습니다. – Brian

+0

웹 응용 프로그램로드로 인해 텍스트 상자에 입력 할 수 있습니다. 버튼을 클릭하면 cs.open에 문제가 있다는 메시지가 나타납니다. 따라서 데이터베이스 테이블에 데이터를 입력하지 않습니다. – Beep

+1

연결 문자열에 '초기 카탈로그'(이미 가지고있는 데이터베이스 이름)와 함께 '데이터 소스'(데이터베이스 인스턴스)를 지정해야합니다. – Brian

답변

1

의견에서 언급했듯이 연결 문자열에 문제가있는 것 같습니다. 당신은이 : 당신이 필요로하는 것은

SqlConnection cs = new SqlConnection("Data Source = (LocalDB)\v11.0; 
Initial Catalog = Database1; Integrated Security = true"); 

:

SqlConnection cs = new SqlConnection("Data Source = .\SqlInstanceName; 
Initial Catalog = Database1; Integrated Security = true"); 

데이터 소스가 로컬 컴퓨터, 호스트 데이터베이스 또는 SQL을 인스턴스의 다른 풍미하고 '초기 카탈로그'에 인스턴스 실제 데이터베이스 이름입니다.

PS - 내가 매우 당신이 using 키워드로보고 그들이 떨어질 때 아웃 오브 범위, 그들은 당신을 위해 관리 있도록하여 명령 및 연결 개체를 포장하는 것이 좋습니다.

using (SqlConnection cs = new SqlConnection()) 
{ 
    // Some code can go here. 

    using (SqlCommand cmd = new SqlCommand()) 
    { 
     // More code can go here. 
    } 
} 

내가 this 포스트에 대한보다 포괄적 인 대답을 : 당신이 그들을 사용하는 경우 그것은이 같은 비트를 보인다. 해피 코딩!

+0

브라이언 – Beep