2012-03-29 4 views
0

이전에 비슷한 게시물을 모두 읽었지만 해결책을 찾지 못했습니다. 내 코드 좀 봐주실 수 있습니까? 나는 예외가 없다. 데이터베이스에 새 데이터가 표시되지 않습니다.SQL Server 데이터베이스에 데이터를 입력 할 수 없습니다.

int admin = 23; 

SqlConnection thisConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString); 

SqlCommand nonqueryCommand = thisConnection.CreateCommand(); 

thisConnection.Open(); 

nonqueryCommand.CommandText = 
    "INSERT INTO Account (Username, Password, AdministratorId) VALUES (@username, @password, @admin)"; 

nonqueryCommand.Parameters.Add("@username", SqlDbType.VarChar, 20); 
nonqueryCommand.Parameters["@username"].Value = UsernameTextbox.Text.ToString(); 
nonqueryCommand.Parameters.Add("@password", SqlDbType.VarChar, 15); 
nonqueryCommand.Parameters["@password"].Value = PasswordTextbox.Text.ToString(); 
nonqueryCommand.Parameters.Add("@admin", SqlDbType.Int); 
nonqueryCommand.Parameters["@admin"].Value = admin; 

nonquerycommand.ExecuteNonQuery(); 

thisConnection.Close(); 
+0

오류 메시지가 나타 납니까? 아니면 아무 일도 일어나지 않습니까? –

+0

언뜻 보면 나에게 잘 보입니다. 자동으로 롤백되는 트랜잭션을 실수로 (실수로) 사용하지 않았습니까? –

+1

질문을 중복하지 마십시오. (http://stackoverflow.com/questions/9932254/cannot-insert-data-into-database) –

답변

1

는 잘 모르겠어요 귀하의 코드에서 오류, 아마도 null 참조 예외하지만 나는 그 클래스가 작동하는 방법을 기억하지 않습니다.

2

연결 문자열을 사용하여 연결 문자열 색인을 생성합니까?

int admin = 23; 

    SqlConnection thisConnection = new SqlConnection(
"Data Source=...;Persist Security Info=True;User ID=myusername;Password=mypassword"); 
SqlCommand nonqueryCommand = thisConnection.CreateCommand(); 
thisConnection.Open(); 
nonqueryCommand.CommandText = "INSERT INTO Account (Username,Password,AdministratorId) VALUES (@username,@password,@admin)"; 

nonqueryCommand.Parameters.Add("@username", SqlDbType.VarChar, 20); 
nonqueryCommand.Parameters["@username"].Value = UsernameTextbox.Text.ToString(); 
nonqueryCommand.Parameters.Add("@password", SqlDbType.VarChar, 15); 
nonqueryCommand.Parameters["@password"].Value = PasswordTextbox.Text.ToString(); 
nonqueryCommand.Parameters.Add("@admin", SqlDbType.Int); 
nonqueryCommand.Parameters["@admin"].Value = admin; 

nonquerycommand.ExecuteNonQuery(); 


thisConnection.Close(); 

연결 문자열을 수정해야합니다.

0

연결 문자열을 잘못 잡아 당겼습니다. ConfigurationManager.Connectionstrings은 app/web.config 파일의 연결 문자열 이름에 맞춰져 있습니다. .config 파일에서 이름을 사용하거나 SqlConnection 개체 생성자에 연결 문자열을 하드 코딩하십시오. 나는이 문제로 한 것입니다 가정

<connectionStrings> 
    <add name="SomeDB" connectionString="..." /> 
</connectionStrings> 

ConfigurationManager.ConnectionStrings["SomeDB"].ConnectionString 

이 실수 또는 아니지만, ConfigurationManagerConnectionStrings 인덱서가 이름을 연결 문자열의을 찾는 경우

0
SqlConnection thisConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["NameOfConnectionString"].ConnectionString); 
관련 문제