.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
Kaviya Balasubramanian
Sgraph Infotech
Imran Ghani
Post New Web Links

ADO RecordSet Update Fails (Insufficient key column information for updating...)

Posted By:      Posted Date: December 04, 2010    Points: 0   Category :Sql Server
 

Hi, I'd like to update one field in a recordset but I'm getting this error:

*** insufficient key column information for updating or refreshing" ***

My program consists in a .VBS file (VbScript), and the code goes as follows:

connectionString = "Provider=SQLNCLI; DataSource=dbABC;Initial Catalog=whateverCat;Integrated Security=SSPI"

set objConn = CreateObject( "ADODB.Connection" )
set objRs = CreateObject( "ADODB.RecordSet" ) objConn.ConnectionTimeout = 0
objRS.CommandTimeout = 0
objRS.CursorLocation = 3 ' adUseClient
objRs.LockType = 3 ' adLockOptimistic
objRs.CursorType = 2 'adOpenDynamic
objConn.Open ConnectionString
objRs.Open "Select ComputerID, ComputerName From ComputerTable", objConn
objRs.MoveFirst
do until objRs.eof
objRs( "ComputerName" ).Value = "NewComputerName"
objRs.Update ' ****Fails here
objRs.MoveNext
Loop

I don't need that the changes made in the RecordSet to be propagated into the DB table, so perhaps here is my problem: I do only have read access to the tables. Could this be the problem? Thanks.




View Complete Post


More Related Resource Links

Data Points: Updating Data in Linked Servers, Information Schema Views, and More

  

Every day a developer somewhere needs to write code to iterate through SQL ServerT system objects, query and update tables in linked servers, handle optimistic concurrency, and retrieve column and stored procedure metadata.

John Papa

MSDN Magazine November 2004


wss2.0 update/delete/hide lookup column that does not display any values

  

Hi All,

I have a document library that contains a Category column that is a lookup field. This is a default column that is a required field when uploading documents to the document library. The Category column is empty and I am unable to amend, hide, make it not required or delete it.

I have gone to Modify settings and columns -> clicked on the Category field to edit, but there is no option to amend the content or delete it. I am only able to amend the Column name and Description.

Since then, I have amended the column name to eg. Category1 and created a new Category field as a lookup and linked it to the correct list.

The problem I am facing now, is that I cannot hide, delete or make the Category1 (old Category) field NOT required. Either I would like to update the original field to display the correct values or alternately hide, delete or make the column not required.

Please help.


How to get information from a column

  

Hi

I want to get information from a manually created column programmatically (C#).

For example:
The name of the created column is test and the type is choice. The option "multichoice is possible" is set.
When you create the column manually you can set the choices for example wood, steel, iron or anything else.
I need the information wood, steel and iron programmatically.

Thanks for helping
Regards

 


Copy a column with update and select

  
Hi, I am using SQL Compact 3.5 I am trying to copy the values of a column called "CODIGO" from one table to another table. I mean, I want to copy the column "CODIGO"  from table  "DATOS_ACADEMICOS" to table "ALUMNOS". I use this code: UPDATE ALUMNOS  SET CODIGO=(SELECT DATOS_ACADEMICOS.CODIGO FROM DATOS_ACADEMICOS WHERE DATOS_ACADEMICOS.ALUMNO_ID=ALUMNOS.ID)   But I get an error in the SELECT statment: Major error 0x80040E14, Minor error 25501 [ Token line number = 2,Token line offset = 13,Token in error = SELECT ]   I also tried this code with the same error: UPDATE ALUMNOS  SET CODIGO = (SELECT DATOS_ACADEMICOS.CODIGO             FROM DATOS_ACADEMICOS             WHERE DATOS_ACADEMICOS.ALUMNO_ID=ALUMNOS.ID) WHERE EXISTS (SELECT 1 FROM DATOS_ACADEMICOS WHERE DATOS_ACADEMICOS.ALUMNO_ID=ALUMNOS.ID)   How can I copy from one column to another in a SQL sentence? Thanks    

Gridview's in Update Panel not updating

  
I have 2 gridviews in an update panel that for some reason will not update.  There is no data entry, paging, sorting going on, the data is just there to be displayed.  I'm using a timer that initiates every 5 minutes to trigger the updatepanel.  I also have an updatepanel on an additional page where I am also using a trigger to fire the updatepanel with 2 charts and 1 oneline/column gridview.  The 2 charts update just like they are supposed to however the gridview does not. Here is the code for the 2 Gridview aspx page:</head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:Timer ID="Timer1" runat="server" Interval="300000" Enabled="True"> </asp:Timer> <br /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <Triggers> <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> </Triggers> <ContentTemplate> <table class="style1"> <tr>

Question in row group not updating on when the column value changes

  
I'm using Report Builder 3.0 and created a row group column and then moved it to a row about the detail columns instead of leaving it as a column at the left.  When I run the report the group value doesn't change  but the page break occurs.  I added the same field as a column so I can see the value is different. Why is the row group field not changing?

conditional update a column base on multiple result

  
Hi, I have a requirement that to conditional update a column base on the table result within a single update statement.     declare @TableStageStatus table ([OldTable] [varchar](100) NULL, [OldKey] [varchar](100) NULL, [StatusCode] [varchar](10) NULL) declare @Table table ([Key] [varchar](100) NULL, [row_stus_cd] [varchar](10) NULL) INSERT INTO @TableStageStatus ([OldTable],[OldKey],[StatusCode]) VALUES ('a' ,'1','I') INSERT INTO @TableStageStatus ([OldTable],[OldKey],[StatusCode]) VALUES ('a' ,'1','I') INSERT INTO @TableStageStatus ([OldTable],[OldKey],[StatusCode]) VALUES ('a' ,'1','E') INSERT INTO @TableStageStatus ([OldTable],[OldKey],[StatusCode]) VALUES ('a' ,'1','I') INSERT INTO @TableStageStatus ([OldTable],[OldKey],[StatusCode]) VALUES ('a' ,'2','E') INSERT INTO @TableStageStatus ([OldTable],[OldKey],[StatusCode]) VALUES ('a' ,'1','E') INSERT INTO @Table ([Key],[row_stus_cd]) VALUES ('1',null) INSERT INTO @Table ([Key],[row_stus_cd]) VALUES ('2',null) UPDATE A SET A.row_stus_cd = case when row_stus_cd is null then B.StatusCode when B.StatusCode='E' then 'E' else B.StatusCode end FROM @Table A INNER JOIN @TableStageStatus B ON A.[Key]=B.OldKey and B.OldTable='a' WHERE B.StatusCode in ('E','I') select * from @Tab

Trying to use dropdownlist to update db - Not Updating?

  
I just can't figure out the problem here. I'm trying to first load the two drop down lists with the existing value from the database, then update them if a different value is selected before the Insert button is pressed.  But it's not updating the db when I select a different value. ASPX CODE<asp:SqlDataSource ID="SqlDataSource1" runat="server"         ConnectionString="<%$ ConnectionStrings:HOAConnectionString %>"         DeleteCommand="DELETE FROM [Homes] WHERE [HomeID] = @HomeID"         SelectCommand="SELECT [HomeID], [Subdivision], [Approved] FROM [Homes] WHERE ([HomeID] = @HomeID)"         UpdateCommand="UPDATE [Homes] SET [Subdivision] = @Subdivision, [Approved] = @Approved WHERE [HomeID] = @HomeID">        <SelectParameters>            <asp:QueryStringParameter DefaultValue="1" Name="HomeID" QueryStringField="ID"                 Type="Int32" />        </SelectParameters>   

Why does reporting services always fails to update dataset rows?

  
Greetings I am working on a project, i must provide reports via Reporting Services. 2008. Problem is, it is for some reason almost always falsely declaring my query as a bad one (must declare something that IS declared, or wrong use of operator minus when its NOT wrong).  For example, i have a query with parameters @sd and @ed (start date and end date). I intend to let user set @ed to null, in that case, the month of @sd is used. So, first lines of query look like this: IF (@ED IS NULL) BEGIN SET @sd=DATEADD(dd,1-(DAY(@sd)),@sd); SET @ed=DATEADD(dd,-(DAY(DATEADD(mm,1,@sd))),DATEADD(mm,1,@sd)); END   And then it fails to see that @sd is a parameter, instead it spits like 5 times "must declare @sd" and refuses to refresh list of rows. Same happens with other queries. For example, i keep getting the "Operand data type nvarchar is invalid for minus operator" on a 100% correct query. And with others. Those are 100% legit, work in sql management studio as well as they work after i click "continue" at error message and compile a report.   So far this seems like a major bug to me. Or am i doing something wrong?

Update nullable column in db to null?

  
Can anyone reliably get the EDS to save a nullable column to the databse as a "null" when bound to any of the controls such as "FormView"? I have tried using several different UpdateParameters (Session, ControlParamater, Parameter,  etc). I have tried setting "ConvertEmptyStringToNull" to true and leaving the property off entirely. Nothing works. On my "Inserts" it works fine. (I have made sure the column is set to nullable = true in the Entity Designer.....)

Update statement not updating records and returns no errors

  
I am running an Update statement against an SQL database on server 2008. The update runs but does not update the record, but returns no errors. The database is part of a commercial help desk package called TrackIt 8.5 which was just a fresh install on a new web server and a new sql server. The update is running from a web form we use to automatically create active directory accounts. After the account is created the web form closes out the work order in the Trackit db. This was working fine when the system was running on Server 2003 and SQL server 2005. Running Trackit version 7.02. The login use to access the database has full permissions to read and write to the database, just as it did on the old server which never had an issue updating. Odd thing is, if I log onto the SQL server and make a change to any single field in that record. I can then run the web form and it updates the record normally. All other update statements that are running on other databases are running fine. Anyone have any suggestions on what to check that may be causing this issue?

update stored procedure for existing values of column(salperyr)

  
tbl_salary salary           salperyr   hike20      hike20yr10000.0000    NULL      12000.00    144000.0012000.0000    NULL      14400.00    172800.0014000.0000    NULL      16800.00    201600.0015000.0000    NULL      18000.00    216000.0018000.0000    NULL      21600.00    259200.0020000.0000    NULL      24000.00    288000.0022000.0000    NULL      26400.00    316800.00in above table salaryper yr (salperyr) has to be modified after caliculation my null values has to be removed and place (salary*12)in one shot.so plz suggest me update stored procedure for this.

update stored procedure for existing values of column(

  
tbl_salary salary            salperyr    hike20       hike20yr 10000.0000    NULL      12000.00    144000.00 12000.0000    NULL      14400.00    172800.00 14000.0000    NULL      16800.00    201600.00 15000.0000    NULL      18000.00    216000.00 18000.0000    NULL      21600.00    259200.00 20000.0000    NULL      24000.00    288000.00 22000.0000    NULL      26400.00    316800.00 in above table salaryper yr (salperyr ) has to be modified after caliculation my null values has to be removed and place (salary*12 )in one shot.   so plz suggest me update stored procedure for this

Update one column of a table with data from another table

  
I have two tables which are different with the exception of a single field (column name = "LocationCode"). Both tables can also be joined with a common id field. I would like to update the "LocationCode" values in one table with the the "LocationCode" of the other table. I can do a relational join on the common id. It is impractical for me to update one row at a time. How can I update all the rows quickly?   But one more point both tables lies in different database Varinder Sandhu http://varindersandhus.blogspot.com/

Statments not updating one column

  

This function is a virtual copy and paste from another function working just fine.  It updates two columns in the database. One is a date and the other is a byte.

My working function

Public Function UpdateAdvLink(ByVal advlink As Integer) As Boolean
        Dim con As New SqlConnection(DataFuncs.GetConnectionString)
        'Dim con As New SqlConnection("Server=SCOT\SQLEXPRESS;Initial Catalog=linkexchanger;Integrated Security=True;Connect Timeout=8")
        'Response.Write("we made it here")
        ' Exit Function
        Dim Numemails As Integer
        Dim adv As New AdvanceLink(advlink)

        If Not IsDBNull(adv.TimesEmailed) Then
            Numemails = adv.TimesEmailed
            Numemails = Numemails + 1
        Else : Numemails = 1
        End If

        Const sSQL As String = "UPDATE tblAdvanceLink SET LastEmailed = @LastEmailed,TimesEmailed = @TimesEmailed WHERE ADVLinkID =  @ADVLinkID"
        Dim xSqlCommand As SqlCommand = New SqlCommand(sSQL, con)

        Try
            xSqlCommand.Parameters.Add("@LastEmailed", SqlDbType.DateTime)
            xSqlCommand.Parameters("@LastEmailed").Value = DateTime.Today
            xSqlCommand.Parameters.Add("@TimesEmailed", SqlDbType.Int)
            xSqlCommand.Parameters("@TimesEmailed").Value

Update one column of a table with data from another table

  

I have two tables which are different with the exception of a single field (column name = "LocationCode").

Both tables can also be joined with a common id field.

I would like to update the "LocationCode" values in one table with the the "LocationCode" of the other table. I can do a relational join on the common id.

It is impractical for me to update one row at a time. How can I update all the rows quickly?

 

But one more point both tables lies in different database


Varinder Sandhu http://varindersandhus.blogspot.com/

how to update a column with some rules in it (base on other columns)

  

Hello Sir,

i have table named mytable1 it has values as below,  with composite primarykey (CKCOL1,CKCOL2,CKCOL3)
how to update finalresult values as below math, i tried it with different groupings

CKCOL1 CKCOL2, CKCOL3, SalesID,   Team1,    Team2,     Team3,     counts,   units,      ordertotal,     otheramount,  FinalResult
DDN 175 ETQ NULL 10:40 MON JUN28 NULL 1 0 2814 NULL 
DDN 175 ETQ NULL 10:40 TUE JUN29 NULL 1 0 4938 NULL
DDN 175 ETQ NULL 10:40 MON JUL05 NULL 1 0 2814 NULL
DDN 175 ETQ 31566 10:40 NULL JUL13 9 NULL 13998 3432 NULL

DDN 175 TVQ NULL 1:40 SUN JUL25 NULL 2 0 7831 NULL
DDN 175 TVQ NULL 1:40 SAT JUL24 NULL 2 0 2168 NULL
DDN 175 TVQ 40546160 1:40 MON JUN1 3 NULL 5000 NULL NULL
DDN 175 TVQ 40546245 1:40 TUE AUG1 1 NULL

Categories: 
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend