Showing posts with label row. Show all posts
Showing posts with label row. Show all posts

Friday, February 24, 2012

Error - updating tables row using SqlDataSource

I have such a problem:

i try to update a row in my table using:

protected void selectButton_Click(object sender, EventArgs e)
{
String taskID = projectsGridView.SelectedRow.Cells[0].Text;
usersSqlDataSource.UpdateCommand = "update [Users] set [TaskID]=@.task where [UserID]=1";
usersSqlDataSource.UpdateParameters.Add("task", taskID);
usersSqlDataSource.Update();
}

And i receive error on usersSqlDataSource.Update():

You have specified that your update command compares all values on SqlDataSource 'usersSqlDataSource', but the dictionary passed in for oldValues is empty

What have i done wrong? Parameter are not set?

Check ConflictDetection attribute in your DataSource declaration.

Based on your usage it should be

ConflictDetection="OverwriteChanges"

Refer to the following link to better understand the implications of this setting

http://msdn2.microsoft.com/en-US/library/system.web.ui.webcontrols.sqldatasource.conflictdetection.aspx

|||

One way to solve this is to change the ConflictDetection property of your datasource to OverWriteChanges. At the moment it is set at CompareAllValues. If you want to keep the CompareAllValues setting, you need to add the old Values for each parameter to the UpdateParameters collection too.http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.oldvaluesparameterformatstring(vs.80).aspx

|||

Yes, it works fine now, thanks!

ERROR - The row value(s) updated or deleted either do not make the row unique or they alter mult

i am getting the above error on my database i have 2 rows with the same info on and another 2 with the same info on. example:

ID username password

1 bob bob

1 bob bob

1 john john

1 john john

I know this is a fault with ms sql 2005 however how do i fix it?

Ive found this link which explains everything but how do i start a query. I tried clicking on new query and copying the code. What is table1 meant to be? the database is dbl.tbl_admin. It wont find my database.

Im not sure how to do it anyway.

I need to change it though as its my admin password and Ive given it out to web design companys

http://geekswithblogs.net/allensb/archive/2006/07/27/86484.aspx

Can some 1 read the above page and give me full instructions, I dont know what im doing thanks

info@.uktattoostudios.co.uk

hi,

follow solution 3:

open (and download SQL Server Management Studio Express at http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en) SQL Server Management Studio Express..

connect to the desired SQL Server instance... select "New Query".. in the database combo box select your database..

execute the

ALTER TABLE dbo.tbl_admin ADD TempID int IDENTITY(1, 1);

this will add a new unique column to tyou tbl_admin table, and this column is a valid alternate candidate key...

if you do not have a primary key defined in your table, execute

ALTER TABLE dbo.tbl_admin

ADD CONSTRAINT pk_tbl_admin

PRIMARY KEY (TempId);

this will generate a primary key based on the TempId column of your table..

you can then purge your duplicate data as desired/required...

regards

|||hi, thanks for that its sorted. the reason it didnt work before was I didnt choose a database for the query to work on. master was the default just change it to my database and your code worked fine. many thanks

ERROR - The row value(s) updated or deleted either do not make the row unique or they alter

i am getting the above error on my database i have 2 rows with the same info on and another 2 with the same info on. example:

ID username password

1 bob bob

1 bob bob

1 john john

1 john john

I know this is a fault with ms sql 2005 however how do i fix it?

Ive found this link which explains everything but how do i start a query. I tried clicking on new query and copying the code. What is table1 meant to be? the database is dbl.tbl_admin. It wont find my database.

Im not sure how to do it anyway.

I need to change it though as its my admin password and Ive given it out to web design companys

http://geekswithblogs.net/allensb/archive/2006/07/27/86484.aspx

Can some 1 read the above page and give me full instructions, I dont know what im doing thanks

info@.uktattoostudios.co.uk

hi,

follow solution 3:

open (and download SQL Server Management Studio Express at http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en) SQL Server Management Studio Express..

connect to the desired SQL Server instance... select "New Query".. in the database combo box select your database..

execute the

ALTER TABLE dbo.tbl_admin ADD TempID int IDENTITY(1, 1);

this will add a new unique column to tyou tbl_admin table, and this column is a valid alternate candidate key...

if you do not have a primary key defined in your table, execute

ALTER TABLE dbo.tbl_admin

ADD CONSTRAINT pk_tbl_admin

PRIMARY KEY (TempId);

this will generate a primary key based on the TempId column of your table..

you can then purge your duplicate data as desired/required...

regards

|||hi, thanks for that its sorted. the reason it didnt work before was I didnt choose a database for the query to work on. master was the default just change it to my database and your code worked fine. many thanks