DataSource Controls :: How To Get The ID Of The Record I Just Insert In LINQ To SQL
May 25, 2010
I use the following code to insert recode to a sql 2008 table, the field ID of DBProgram is IDENTITY, so SQL 2008 SERVER will pass a value to it automatically. How can I get the ID value of the record I just insert ?
DBProgram dbProgram = new DBProgram();
db.DBPrograms.InsertOnSubmit(dbProgram);
db.SubmitChanges();
Conseptually what I'm doing is simple, and technically it may even be simple, but I'm still rusty. Here's what I'm trying to do:
I have a webform that allows the user to enter a new record, and in there I have also included a couple FileUpload controls. Upon clicking the "Save" button, I'm saving the details entered into one table (ITEMS), and also inserting the FileUpload details (path, id, upload_user) into another table ATTACHMNTS). Because one ITEM can have many attachments, I needed to split the tables up. So on save, I need to save the ITEM, save the ATTACHMENT, and then also put the ITEM_ID in the ATTACHMENT table. I'm second guessing myself because I think all I'd have to do is after I do the ITEM insert, do a SELECT MAX on the ITEM table and hold the newest (MAX) id in a variable and then use it in the ATTACHMENTS update. I'm not 100% on this because there IS a chance that someone else could save a few milliseconds later and I'll link the wrong ITEM. See my delima?
If I have an ID, I would like to retrieve the next item that also has the same category as the item ID I have. So, for example, if I have ID=2, I would like to return the item with ID=4 (as item ID=3 has a different category).
I'm very new to this area and am using ASP.NET 3.5 with WMD 2008 Express Edition and VB code.
How do I write records to the SQL database using VB? I want to use the connection string, etc used in the ASP.NET controls if possible.
My website is a Rugby Club site and I've an SQL database of match fixtures which include TeamId(1XV, 2XV, etc.), Season(2008, 2009, etc) and match date.
I allow some users to update the fixture details but want to insert a series of new fixture records for the neext season which contain just TeamId Season and Match Dates. I therefore want to take the season and Team Id from label fields and then create match dates by adding seven days to a start date.
I converted code from VB that works to c# to insert a record in an SQL daTA BASE.
The VB code is as follows:
Insert a new record into Contact Dim connectionString As String = ConfigurationManager.ConnectionStrings("aspnetdbConnectionString").ConnectionString Dim insertSql As String = "INSERT INTO Contact(UserId, Notes) VALUES(@UserId, @Notes)" Using myConnection As New SqlConnection(connectionString)
I am going to insert Multiple record IN sql using storedProcedure from gridview...
for this purpose i am using cell concatinating method and send whole gridview cell data in string variable.
i have tried xml document method or sending data in table through looping as well but didn't satisfy from both of them... b/c concatinating method required a delimeter for seperation(for which i have restrict the user from that sepereator ) and xml method required an extra file which is not a efficient approach .
how can i insert a gridview(multiple) record using store procedure.if record exist then it first Delete then Insert in a particular CRS_CODE.my table is below.
I'm using the linq to entity command to perform a record update. I want to set one of the fields back to NULL but I'm not sure how do it. I have a query such as
Dim record = From r in db.LISTS where r.ID = refID Select r record.Title = txtTitle.text if txtDetail.text = "" then record.Detail = end if
I have an orders table with a column names orderID. What I want to do is insert a new record and get the value from the new orderID column. The orderID is my Primary key. The Insert SQL I have now is -
INSERT INTO orders (creditAutorizarionNumber, OrderName, OrderPersonPhone, OrderPersonEmail) VALUES (@creditAutorizarionNumber,@OrderName,@OrderPersonPhone,@OrderPersonEmail)
How do I write the query to get the newly entered orderID ?
After this and in the same procedure i want to update the inserted or the updated record which occared in the above code with the follwing update statment :
[Code]....
updating mark is completed successfully if the record is existed (Update Case) but if the record does not exist (new record) ... the update of the mark is not occured ..
I am in a serious trouble right now, i wanted to know that how to write a query in LINQ to SQL to retrieve identity column's current value before inserting any value.
I need this cos i m building a windows app n i need to display this value before inserting a record. I have tried DataContext.ExecuteCommand('DBCC CHECKIDENT (Tablename)') but it returns the number of rows modified.
I am creating a database frontend in aspx/C# using LINQ to MSSQL. It has two pages: a main page which lists all of the records, and a page that appears when the user click the "Edit" button next to one of the list items for the user to edit a record.The database table has about 70 user-editable fields. I need to make the edit page, allowing the user to update/insert records. There are a couple ways I can think of make an edit page:Using a LinqDataSource and FormViewUsing a LinqDataSource and DetailsViewManually retrieve the value for each field and set the value for each field directly from Linq (e.g. "projectIDLabel.Text = Convert.ToString(thisRecord.Project_ID)"What would be the best way to design this?
in my asp.net application. I want to insert the student registration entry through my web form. but want to use proper object oriented method. like by create the object as "Student" it will have required property. and want to insert new node with incremental (auto increment) Student ID. I am using c#. how can i achieve this? will Linq is best way to do this?
i Am using Special character while insert in the database. When i user single Quotes('), it shows an error that "Unclosed quotation mark after the character string" How can i over come this issue. But i want to insert the special characters"
How do I set my insert identity return value parameter in codebehind? I have working code now but i have all of my parameters set in codebehindexcept the following:
I am trying to do an update and if no selection has been made in a dropdownlist (integer) or date field I would like to insert a dbnull value. But I am new to Linq to Sql and wonder if this is possible and if so how to process. I have the following code but the DBNull.Value is giving me an error.
Dim context As New SondageDataContext() Dim repondant = (From r In context.Repondants Where r.RefRepondant = iRefRepondant Select r).Single repondant.Prenom = strPrenom repondant.Nom = strNom 'dates If dtAdhesion > Date.MinValue Then repondant.DateAdhesion = dtAdhesion else repondant.DateAdhesion = DBNull.Value End If 'Integer for dropdownmenu If iOccupation <> -1 Then repondant.RefOccupation = iOccupation Else repondant.RefOccupation = DBNull.Value End If context.SubmitChanges()
when need to insert into Text.boxes details from user (name,e-mail, e.tc.) and to get record of it into DB on other page. I try to get after pressing Submit btn:
I tried to find a LINQ section on this forum, but couldn't, so I'll post this here since is deals with LINQ, C#, MVC, SQL Server, and well...just about everything.
Here's the details....My Application is an ASP .Net MVC 1.0 app, using C# 3.5, SQL Server 2005 Std, and LINQ to Entity.
In my View, I have numerous Html.CheckBox controls, they get passed to my Controller as a string collection via a JQuery Ajax call. The values of each checkbox are seperated by a comma(,). I then Split the string, to get the individual values. The overall purpose to to allow users to build a custom report with only the data elements they have checked the boxes for. Here is my controller:
[Code]....
The part that I am having a problem with is that I only want to Insert the data elements into my DB table for the ones that the user has selected the checkbox for. So, for example, I'd like to do something like this:
[Code]....
I don't know if there is a LINQ switch statement in which I can access outside variables and the columns of the table, or any thing like that.
I am using LINQ Expression to insert records in SQL Table. My Table dosen's have any Primary Key Field. Whenever I Am trying to Insert Records in Table using LINQ Expression, this always occurs an Error that 'the Table You are using to insert Dosen't Have Any Primary Key Field.
How I Will Insert Records Without Having Primary Key ?
when i want insert a record i see an error like this Can't perform Create, Update, or Delete operations on 'Table(MainMenuLink)' because it has no primary key. with this codes:
MyLinqDataClassesDataContext db = new MyLinqDataClassesDataContext(); MainMenuLink li = new MainMenuLink { Link = "www.tprogrammer.com", LinkSubject = "subject" }; db.MainMenuLinks.InsertOnSubmit(li); [code]....
I'm new onto LINQ and im working on a asp.net application which uploads a requisition from a preformated text file that is coming from another application.
I need to insert a record in table which is in remote server....I am using two connection strings for local and remote....both the servers are in same workgroup only...so am able to connect the both.The problem is am filling data of local table in on dataset1 and remote server table data in another dataset dataset2..Now whil inserting a record local an error occured like "This row already belongs to another table" after googlingI found like this like "Dataset.importrow()" instead of "dataset.add()" method...then there is no errors but the inserted record is not inserting in remote server database...