CrBruno
CrBruno

Reputation: 1003

Read Data from data set

I have data set that is being filled from sql query, like this

cmd_sql.CommandText = " SELECT BrDok " +
                      " FROM ordersstavke " +
                      " WHERE SifParFil = '" + rw_mat["sifskl_kor"] + "'";

MySqlDataAdapter sql_adapter = new MySqlDataAdapter(cmd_sql);
DataSet ds_dok = new DataSet("ordersstavke");
sql_adapter.Fill(ds_dok);

Now I want to extract value from data set for sql update, like this one

myQuery = "UPDATE ordersstavke " +
          "SET BrDok = '" + rw_mat["brdok"] + "', " +
          "SifParFil = '" + rw_mat["sifskl_kor"] + "', " +
          "WHERE BrDok = " + ds_dok.Tables["ordersstavke"].Rows[0]["BrDok"] + "'";

I tried this ds_dok.Tables["ordersstavke"].Rows[0]["BrDok"] but I got an error, I was thinking to do something like this

string BrDok;
BrDok  = ds_dok.["BrDok"].ToString();

But nothing, how to extract that BrDok or just put it into procedure?

Thanks infront!

Upvotes: 2

Views: 148

Answers (4)

Tomtom
Tomtom

Reputation: 9394

Just a small hint to the sql-command. You should use sql-parameters to prefent sql-injection.

Upvotes: 0

Asif Mushtaq
Asif Mushtaq

Reputation: 13150

Try this

ds_dok.Tables[0].Rows[0]["BrDok"]

Upvotes: 1

If you provide a string argument for the dataset class, then it will be the dataset name and not the datatable name. And there is no table in the database with name you provided for a dataset, so give it while filling the dataset. Write some thing like below.

DataSet ds_dok = new DataSet();
sql_adapter.Fill(ds_dok,"ordersstavke");

and you can write all the remaining code as it is in your code part.

And your second update query has some syntax error, see it like below

myQuery = "UPDATE ordersstavke " +           "SET BrDok = '" + rw_mat["brdok"] + "', "
 +           "SifParFil = '" + rw_mat["sifskl_kor"] + "', " +           "WHERE BrDok 
 = '" + ds_dok.Tables["ordersstavke"].Rows[0]["BrDok"] + "'";

You forgot to put an starting inverted comma at the where clause.

Upvotes: 0

PraveenVenu
PraveenVenu

Reputation: 8337

Make it

 DataSet ds_dok = new DataSet("ordersstavke");
 sql_adapter.Fill(ds_dok,"BrDok");

Then use

ds_dok.Tables["BrDok"].Rows[0]["BrDok"].ToString()

Upvotes: 1

Related Questions