开发者

SqlCeDataReader parameter ordinal = 1

I a Parameter ordial = 1 error on this code. Can anyone explain it in this context? dbCon is correct as I can insert data to the database just trying out how to get it back no.

              if (dbCon.State == ConnectionState.Closed)
            {
                dbCon.Open(); ;
            }

            SqlCeParameter vetidfromdropbox = new SqlCeParameter("@vetidfromdropbox", SqlDbType.Int);
            vetidfromdropbox.Value = 2;

            SqlCeCommand mySQLCommand = new SqlCeCommand("SELECT * FROM vets WHERE vetID = @vetidfromdropbox", dbCon);

            SqlCeDataReader rdata = mySQLCommand.ExecuteReader();


            if(rdata.Read()){

                    editNameTextbox.Text = (String)rdata["vetName"];
                    editSurnameTextbox.Text = (String)rdata["vetSurname"];
                    editCompanyNameTextbox.Text = (String)rdata["vetCompanyName"];
                    editPractiseAddTextBox.Text = (String)rdata["vetPractiseAddress"];
                    editMobileTextbox.Text = (String)rdata["vetMobile"];
                    ed开发者_如何学运维itOtherTextbox.Text = (String)rdata["vetOther"];
                    editNotesTextbox.Text = (String)rdata["vetNotes"];

                }else{
                        MessageBox.Show(" There has been an error with Read() ");                               
                }



            if (dbCon.State == ConnectionState.Open)
            {
                dbCon.Close();
            }


You didn't add parameter to your SQL command:

var vetidfromdropbox = new SqlCeParameter("@vetidfromdropbox", SqlDbType.Int);
vetidfromdropbox.Value = 2;

var mySQLCommand = new SqlCeCommand(
    "SELECT * FROM vets WHERE vetID = @vetidfromdropbox", dbCon);
mySQLCommand.Parameters.Add(vetidfromdropbox);

You can use AddWithValue to simplify the syntax:

var mySQLCommand = new SqlCommand(
    "SELECT * FROM vets WHERE vetID = @vetidfromdropbox", dbCon);
mySQLCommand.Parameters.AddWithValue("vetidfromdropbox", 2);

Side note: use using on your sql connection and command to guarantee disposal and to simplify code.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜