Avatar billede starfarm Nybegynder
22. november 2007 - 17:30 Der er 3 kommentarer og
1 løsning

Problemer med Insert via Web service

Hej Eksperter

jeg er igang med at lave en winform, hvor jeg skal indsætte records i en msSql via en webservice. Jeg kan godt hente ud via web service, men når jeg prøver at insætte records opstår følgende fejl:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: Incorrect syntax near '?'.

  at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

  at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

  at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

  at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

  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)

  at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

  at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)

  at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
 
at tourDAL.DAL.insertCustomer(String FirstName, String LastName, String Organization, String Address, Int32 ZipCode, String City, String Email, String Password) in \DAL.cs:line 93

  at tourBLL.BLL.insertCustomer(String FirstName, String LastName, String Organization, String Address, Int32 ZipCode, String City, String Email, String Password) in \BLL.cs:line 42

  at Service.insertCustomer(String FirstName, String LastName, String Organization, String Address, Int32 ZipCode, String City, String Email, String Password) in \Service.cs:line 39
  --- End of inner exception stack trace ---

Min DAL ser sådan ud:

public void insertCustomer(string FirstName, string LastName, string Organization, string Address, int ZipCode, string City, string Email, string Password)
    {

        if (conn.State != ConnectionState.Open)
            conn.Open();
   
           
            cmd.CommandText = "INSERT INTO customer (firstName, lastName, organization, address, zipCode, city, email, [password]) VALUES(?, ?, ?, ?, ?, ?, ?, ?)";
            cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = FirstName;
            cmd.Parameters.Add("@LastName", SqlDbType.VarChar).Value = LastName;
            cmd.Parameters.Add("@Organisation", SqlDbType.VarChar).Value = Organization;
            cmd.Parameters.Add("@Address", SqlDbType.VarChar).Value = Address;
            cmd.Parameters.Add("@ZipCode", SqlDbType.Int).Value = ZipCode;
            cmd.Parameters.Add("@City", SqlDbType.VarChar).Value = City;
            cmd.Parameters.Add("@Email", SqlDbType.VarChar).Value = Email;
            cmd.Parameters.Add("@Password", SqlDbType.VarChar).Value = Password;

            cmd.ExecuteNonQuery();   

        if (conn.State != ConnectionState.Closed)
            conn.Close();
       
       
    }

Håber i kan hjælpe mig.
Avatar billede arne_v Ekspert
22. november 2007 - 18:05 #1
SqlDbType antyder SqlConnection og SqlCommand - der skal du angive @xxx i SQL ikke ?
(det er i ODBC man bruger ?).
Avatar billede arne_v Ekspert
22. november 2007 - 18:06 #2
cmd.CommandText = "INSERT INTO customer (firstName, lastName, organization, address, zipCode, city, email, [password]) VALUES(@FirstName, @LastName, @organisation, @Address, @ZipCode, @City, @Email, @Password)";
Avatar billede starfarm Nybegynder
22. november 2007 - 18:35 #3
Hej Arne_V

Tusind tak.

Det er ikke sådan når man skifter til MsSql :)

Kast et svar og du får points...og igen tak for den hurtige hjælp
Avatar billede arne_v Ekspert
22. november 2007 - 18:38 #4
svar kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester