2016-04-15 16 views
2

私はSQLのdatabseに書き込みしたいのですが、この特定のエラー取得:私は私が変換する必要があると思う http://imgur.com/qj2oSsbASPX書き込み

System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Aantalpaginas". at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource 1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at project.NEWANDWRITE.btnOpslaan_Click(Object sender, EventArgs e) in Error Number:137,State:2,Class:15

これをSQLでの私のデータ型ですtxtPaginas.textのテキストをintに変換するか?

if (Page.IsValid) 
     { 

      string connString = WebConfigurationManager.ConnectionStrings["csBoeken"].ConnectionString; 
      SqlConnection myConnection = new SqlConnection(connString); 

      string sqlWegschrijven = "INSERT INTO TabelBoeken (ISBN, Titel, Auteur, Uitgever, JaarUitgifte, Aantalpaginas, Aanschafprijs) VALUES (@ISBN, @Titel, @Auteur, @Uitgever, @JaarUitgifte, @Aantalpaginas, @Aanschafprijs)"; 

      SqlCommand cmdSchrijfNaarDB = new SqlCommand(sqlWegschrijven, myConnection); 

      cmdSchrijfNaarDB.Parameters.AddWithValue("@Titel", txtTitel.Text); 
      cmdSchrijfNaarDB.Parameters.AddWithValue("@Auteur", txtAuteur.Text); 
      cmdSchrijfNaarDB.Parameters.AddWithValue("@ISBN", txtISBN.Text); 
      cmdSchrijfNaarDB.Parameters.AddWithValue("@Uitgever", txtUitgever.Text); 
      cmdSchrijfNaarDB.Parameters.AddWithValue("@JaarUitgifte", txtJaar.Text); 
      cmdSchrijfNaarDB.Parameters.AddWithValue("@Aantalpagina", txtPagina.Text); 
      cmdSchrijfNaarDB.Parameters.AddWithValue("@Aanschafprijs", txtPrijs.Text); 

      try 
      { 
       myConnection.Open(); 
       cmdSchrijfNaarDB.ExecuteNonQuery(); 
      } 
      catch (Exception error) 
      { 
       lblError.Text = error.ToString(); 
      } 
      finally 
      { 
       myConnection.Close(); 
      } 
     } 

答えて

2

あなたは、私がspeechlesだパラメータ#6

if (Page.IsValid) 
    { 

     string connString = WebConfigurationManager.ConnectionStrings["csBoeken"].ConnectionString; 
     SqlConnection myConnection = new SqlConnection(connString); 

     string sqlWegschrijven = "INSERT INTO TabelBoeken (ISBN, Titel, Auteur, Uitgever, JaarUitgifte, Aantalpaginas, Aanschafprijs) VALUES (@ISBN, @Titel, @Auteur, @Uitgever, @JaarUitgifte, @Aantalpaginas, @Aanschafprijs)"; 

     SqlCommand cmdSchrijfNaarDB = new SqlCommand(sqlWegschrijven, myConnection); 

     cmdSchrijfNaarDB.Parameters.AddWithValue("@Titel", txtTitel.Text); 
     cmdSchrijfNaarDB.Parameters.AddWithValue("@Auteur", txtAuteur.Text); 
     cmdSchrijfNaarDB.Parameters.AddWithValue("@ISBN", txtISBN.Text); 
     cmdSchrijfNaarDB.Parameters.AddWithValue("@Uitgever", txtUitgever.Text); 
     cmdSchrijfNaarDB.Parameters.AddWithValue("@JaarUitgifte", txtJaar.Text); 
     cmdSchrijfNaarDB.Parameters.AddWithValue("@Aantalpaginas", txtPagina.Text); // Correct spelling is @Aantalpaginas 
     cmdSchrijfNaarDB.Parameters.AddWithValue("@Aanschafprijs", txtPrijs.Text); 

     try 
     { 
      myConnection.Open(); 
      cmdSchrijfNaarDB.ExecuteNonQuery(); 
     } 
     catch (Exception error) 
     { 
      lblError.Text = error.ToString(); 
     } 
     finally 
     { 
      myConnection.Close(); 
     } 
    } 
+1

のスペルエラーを持っているあなたに感謝! – Anon56890