Go Premium for a chance to win a PS4. Enter to Win


Prepare: CommandText property has not been initialized

Posted on 2009-04-08
Medium Priority
Last Modified: 2012-05-06
Hi ,
i keep getting this message(InvalidOperationException was unhandled.....Prepare: CommandText property has not been initialized) during debugging at ......da.Update(ds, "Shot") ....

can someone please explain what it means and how i can rectify it?

many thanks
Private Sub MenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.Click
        Dim da As New SqlCeDataAdapter(sql, conn)
        Dim cb As New SqlCeCommandBuilder(da)
        dsNewRow = ds.Tables("Shot").NewRow()
        dsNewRow.Item("ShotID") = scorecount + 1
        dsNewRow.Item("Club") = ComboBox2.Text
        dsNewRow.Item("ActDist") = TextBox30.Text
        dsNewRow.Item("EndLie") = ComboBox6.Text
        dsNewRow.Item("PuttDist") = ComboBox9.Text
        dsNewRow.Item("WindStrength") = WeatherCond.ComboBox3.Text
        dsNewRow.Item("Assist") = WeatherCond.ComboBox5.Text
        dsNewRow.Item("Crosswind") = WeatherCond.ComboBox7.Text
        dsNewRow.Item("HoleNo") = Label5.Text
        dsNewRow.Item("RoundID") = maxroundid()
        dsNewRow.Item("BallFlight") = ComboBox1.Text
        da.Update(ds, "Shot")

Open in new window

Question by:baz86
  • 5
  • 2
LVL 11

Accepted Solution

srikanthreddyn143 earned 2000 total points
ID: 24101244
You have to specify update command for the dataadapter.Just look into attached code.I got it from Internet.
using System;
using System.Data;
using System.Data.SqlClient;
   class PropagateChanges {
      static void Main(){
         string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
         string qry = @"select * from employee ";
         string upd = @"update employee set firstname = @firstname where id = @id";
         SqlConnection conn = new SqlConnection(connString);
         try {
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = new SqlCommand(qry, conn);
            DataSet ds = new DataSet();   
            da.Fill(ds, "employee");
            DataTable dt = ds.Tables["employee"];
            dt.Rows[0]["firstname"] = "W";
            foreach (DataRow row in dt.Rows){
                  "{0} {1}",
            // Update employees
            SqlCommand cmd = new SqlCommand(upd, conn);
            cmd.Parameters.Add("@firstname",SqlDbType.NVarChar,15, "firstname");
            SqlParameter parm = cmd.Parameters.Add("@id",SqlDbType.Int,4,"id");
            parm.SourceVersion = DataRowVersion.Original;
            da.UpdateCommand = cmd;
            da.Update(ds, "employee");
         } catch(Exception e) {
            Console.WriteLine("Error: " + e);
         } finally {

Open in new window

LVL 11

Expert Comment

ID: 24101261
Or If you use CommandBuilder, it will automatically take care of update statement. Please check the link



Author Comment

ID: 24103060
thanks for the reply
if you check my code snippet i have used commandbuilder..but i still get the same message
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 11

Expert Comment

ID: 24106886
My Bad. What is the SQL query you are using at command object?

And also do you have to specify shotID?
LVL 11

Expert Comment

ID: 24106966
Is SHOTID Primary Key?It seems commandbuilder works only when there is unique key values. Please look into your ShotID values during run time and also look into Update statement using
cmdBuilder.GetUpdateCommand.CommandText to know what is the update command that is getting.

Author Comment

ID: 24111987
this is the sql statement i run at form load
ShotID is quiet misleading here (sorry about that), it isnt a primary key  but just an increment of the shots taken.

conn.ConnectionString = ConnStr
        Dim sql As String = "SELECT * From tblShot"
        da = New SqlCeDataAdapter(sql, conn)

Open in new window

LVL 11

Expert Comment

ID: 24112137
Then CommandBuilder doesnt work for it. You have to manually give the update statement for the adapter with parameters like the code I have given on the top.

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Suggested Courses
Course of the Month9 days, 20 hours left to enroll

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question