Insert-Abfrage in C# mit Parameter

Versuche, fügen Sie mehrere Spalten in meiner Datenbank mit der folgenden insert-Abfrage aus C#, aber es wirft die exception irgendwie und irgendwo, und meine Vermutung ist die, dass es keine Werte für die insertion zur Verfügung gestellt. ich will einfach nur, um zu bestätigen, dass und finden Sie heraus, wie ich den beheben kann die insert-Anweisung. ich habe ein Bild unten, zeigt, was übergeben wird in den Parametern zur Laufzeit. ich benutzte eine Pause, um diese Informationen zu bekommen.

brauchen Ihr know-how an diesen einen...danke

if (Page.IsValid)
        {
            DateTime exhibitDate = DateTime.Now;
            int caseid = Convert.ToInt32(CaseIDDropDownList.SelectedItem.Text);
            string exhibittype = exhibitTypeTextBox.Text.ToString();
            string storedloc = storedLocationTextBox.Text.ToString();
            string offid = DropDownList1.SelectedItem.Text.ToString();
            Stream imgStream = exhibitImageFileUpload.PostedFile.InputStream;
            int imgLen = exhibitImageFileUpload.PostedFile.ContentLength;                
            byte[] imgBinaryData = new byte[imgLen];
            int n = imgStream.Read(imgBinaryData,0,imgLen);
            try
            {
                SqlConnection connections = new SqlConnection(strConn);
                SqlCommand command = new SqlCommand("INSERT INTO Exhibits (CaseID, ExhibitType, ExhibitImage, DateReceived, StoredLocation, InvestigationStatus, OfficerID, SuspectID, InvestigatorID, ManagerID, AdminID ) VALUES (@CaseID, @ExhibitType, @ExhibitImage, @DateReceived, @StoredLocation, @InvestigationStatus, @OfficerID, @SuspectID, @InvestigatorID, @ManagerID, @AdminID)", connections);

                SqlParameter param0 = new SqlParameter("@CaseID", SqlDbType.Int);
                param0.Value = caseid;
                command.Parameters.Add(param0);

                SqlParameter param1 = new SqlParameter("@ExhibitType", SqlDbType.NText);
                param1.Value = exhibittype;
                command.Parameters.Add(param1);

                SqlParameter param2 = new SqlParameter("@ExhibitImage", SqlDbType.Image);
                param2.Value = imgBinaryData;
                command.Parameters.Add(param2);

                SqlParameter param3 = new SqlParameter("@DateReceived", SqlDbType.SmallDateTime);
                param3.Value = exhibitDate;
                command.Parameters.Add(param3);

                SqlParameter param4 = new SqlParameter("@StoredLocation", SqlDbType.NText);
                param4.Value = storedloc;
                command.Parameters.Add(param4);

                SqlParameter param5 = new SqlParameter("@InvestigationStatus", SqlDbType.VarChar, 50);
                param5.Value = "";
                command.Parameters.Add(param5);

                SqlParameter param6 = new SqlParameter("@OfficerID", SqlDbType.NChar, 10);
                param6.Value = offid;
                command.Parameters.Add(param6);

                SqlParameter param7 = new SqlParameter("@SuspectID", SqlDbType.NChar, 10);
                param7.Value = null;
                command.Parameters.Add(param7);

                SqlParameter param8 = new SqlParameter("@InvestigatorID", SqlDbType.NChar, 10);
                param8.Value = null;
                command.Parameters.Add(param8);

                SqlParameter param9 = new SqlParameter("@ManagerID", SqlDbType.NChar, 10);
                param9.Value = null;
                command.Parameters.Add(param9);

                SqlParameter param10 = new SqlParameter("@AdminID", SqlDbType.NChar, 10);
                param10.Value = adminID;
                command.Parameters.Add(param10);

                connections.Open();
                int numRowsAffected = command.ExecuteNonQuery();
                connections.Close();

                if (numRowsAffected != 0)
                {
                    Response.Write("<BR>Rows Inserted successfully");
                    CaseIDDropDownList.ClearSelection();
                    exhibitTypeTextBox.Text = null;
                    storedLocationTextBox.Text = null;
                    DropDownList1.ClearSelection();
                }
                else
                {
                    Response.Write("<BR>An error occurred uploading the image");
                }
            }
            catch (Exception ex)
            {
                string script = "<script>alert('" + ex.Message + "');</script>";
            }

Insert-Abfrage in C# mit Parameter

Ausnahme ist wie folgt

  • $exception {"Die parametrisierte Abfrage '(@CaseID int,@ExhibitType ntext,@ExhibitImage Bild,@DateReceive' erwartet parameter '@SuspectID', der nicht angegeben wurde."} System.Exception {System.Daten.SqlClient.SqlException}
  • was ist die Ausnahme?
  • Welche exception bekommst du? Die details der Nachricht wird eine Menge helfen!!
  • Was ist deine exception im catch-block?
  • Wo ist dein strConn variable definiert?
  • Ich habe bearbeitet die Frage, mit der Ausnahme-Meldung auf der Unterseite der Frage. @Alex - mein connection string definiert ist, an die öffentliche partielle Klasse an der Spitze. also ich habe kein problem damit.
  • Lesen Sie die FAQ !! Ich gab dir den link.....

InformationsquelleAutor Selase | 2011-01-17
Schreibe einen Kommentar