DataSource Controls :: Objectdatasource Return Inserted Object Like LinqDatasource Do?
Mar 5, 2010I would like the ObjectDatasource insert and update data methods to return the inserted or updated object like LinqDataSource do.
View 2 RepliesI would like the ObjectDatasource insert and update data methods to return the inserted or updated object like LinqDataSource do.
View 2 RepliesI have a series of classes that loosely fit the following pattern:
public class CustomerInfo {
public int Id {get; set;}
public string Name {get; set;}
public class CustomerTable {
public bool Insert(CustomerInfo info) { /*...*/ }
[code]...
Im using Objectivation as a DAL with GridView !
I would like to link item when i create it with the InsertMethode :
I have this 2 table :
Item ( id, name )
ItemRelation( idrelation, idParentItem, idSonItem)
I have a page with a gridview with the liste of item in relation with another item (Same table) : Select * From Item where id IN ( Select idSonItem where idParentItem = @TheItem )
When i add an item from this grid i would like to link it with the current Item : So I insert the Item with the GridView InsertMethod then I do another Query an the ItemRelation with idParentItem as the courant Item and the Inserted Item as the idSonsItem !
so the question is : How to get the id of an inserted Item after i get executed the InsertMethod ?
I've done a lot of searching on this here but I can't seem to find anyone who has done this. I'm sure it's a common problem but I can't figure out the right keywords to search for the solution so I'm sorry if this is a duplicate.I have a dataset where I've used the Generate Insert, Update, and Delete statements as well as the Refresh the Data Table options so that I can retrieve the last inserted ID when I'm using an ObjectDatasource.however, when I'm handling the ObjectDataSource-Inserted method, I'm getting a 1 as a return value, which I assume is the affected rows. I don't want that, I want the ID so that I can use it in my code.I looked at the generated code for the insert method and it is doing a SELECT after inserting, but it returns the whole row not the ID, so how can I get at this row to retrieve the value?
View 6 RepliesI followed this BRILLIANT article and found out how to make a data layer, i just need the insert method in this code to return the ID of the record inserted.
For example, when the user captures the details, the save button is clicked, i will want to display in a label "Your Reference Number is "
try and have look at the article so you will understand how the code is, so it will not be hard to edit my code.
[URL]
Is there any way to return object from Session when Select is called on ObjectDataSource? Specifically, I have Products object and saved in Session. Now on another page I have ObjectDataSource which will call same bussiness object method to get Products object. Here I want to hook up any event like Selecting and I would like to return Products object from Session to Select method of ObjectDataSource.
View 1 RepliesThis was a pretty disappointing moment - when databinding, using Eval("Contact.LastName") would work. It nicely evaluates the related Linq object's member LastName. If the "Contact" object is null, no error is thrown... instead the field is simply null.
However, the same does not hold for sorting - if there exists a null entry (this object does not have a Contact) then the LinqDataSource throws a NullReferenceException. This means that, if you ever have nulls on your foreign-key objects, you can't use sorting headers in the ListView.
This makes the feature moderately useless - I have to roll my own properties for every single field I'd ever want to sort on. That's insane.
Is it possible to pass a domain object as session parameter in an ObjectDataSource. I'm doing this:
<asp:ObjectDataSource ID="ParticipantsDataSource" runat="server" OnInit="SqlDataSource_Load"
SelectMethod="LoadParticipants" TypeName="SB.Web.units.Players">
<SelectParameters>
<asp:SessionParameter Name="user" SessionField="User" Type="SB.BusinessLogic.DomainEntity.User" />
</SelectParameters>
</asp:ObjectDataSource>
But I get the error message that I can't create an object of the type System.TypeCode from the string containing SB.BusinessLogic.DomainEntity.User for the property Type.
how to pass an object to the selectmethod of the objectdatasource control?
View 2 RepliesI'm trying to use an ObjectDataSource's SelectMethod() to retrieve a result set from a sql server database to populate a data table with various stored procs that have any given number of parameters. My approach is to pass an object which contains the stored proc name and information about its parameters into the SelectMethod(). My issue is that I don't know how to actually set the default value. Here is the code I have so far:
ObjectDataSource1.DataObjectTypeName = "WebApplication1.Children";
ObjectDataSource1.TypeName = "WebApplication1.Children";
ObjectDataSource1.SelectMethod = "Select";
Parameter odsParameter = new Parameter() { Name = "storedProc", Type = TypeCode.Object };
// How do you set the default value to reference an object?
ObjectDataSource1.SelectParameters.Add(odsParameter);
namespace WebApplication1
{
public class Children
{
public DataTable Select(object storedProc)
{
// do stuff here and get db values.
}
}
}
The default value of a Parameter object is a string type. Does anyone know how to set the default value with an object or how I can pass an object into the SelectMethod?
How do I make ObjectDataSource work with singleton Business object? My singleton business object is defined in Global:
[Code]....
I get an error:The type specified in the TypeName property of ObjectDataSource 'objThreads' could not be found.
I have an object data source control. and to insert the control I add the object to the database then call databing on the gridview the DataSource control is bound to.
My question is - how would I know where the newly added row is? I can'y go by id, because the dbase creates the id.
I'm thinking maybe last data key, but based on the sort that would be accurate.
I've done a lot of searching on this her on SO but I can't seem to find anyone who has done this. I'm sure it's a common problem but I can't figure out the right keywords to search for the solution so I'm sorry if this is a duplicate.I have a dataset where I've used the Generate Insert, Update, and Delete statements as well as the Refresh the Data Table options so that I can retrieve the last inserted ID when I'm using an ObjectDatasource.however, when I'm handling the ObjectDataSource-Inserted method, I'm getting a 1 as a return value, which I assume is the affected rows. I don't want that, I want the ID so that I can use it in my code.I looked at the generated code for the insert method and it is doing a SELECT after inserting, but it returns the whole row not the ID, so how can I get at this row to retrieve the value?
View 1 Replieshow to bind maxid from table in Label using storedprocedure...
View 1 RepliesI'm using a GridView and a LinQDataSource (Northwind database) and this error appears when website runs.
Here is my codes on aspx file and no codes in cs file.
[Code]....
Im trying to build a where clause in c# for a LinqDataSource, but I cant get it to work, heres my code
[Code]....
when I set category to 'Concerts' tyhe where clause is
'Category = Concerts'
this generates an error telling me there is no column called 'Concerts'. I assume I somehow have to enclose the search term in quotes, Ive tried single and double quotes, but nothing works.
So I need to take the literal "SELECT....FROM Bay....WHERE Warehouse=1 and ((BAY LIKE '1.0%' or BAY LIKE '2.0%'))I have set up a linqdatasource on my asp page and I want to bind that to a gridview. Here is the start of the HTML:
<asp:LinqDataSource
ID="dsBays"
runat="server"
ContextTypeName="CartonInventory.CartonInventoryDataContext"
EnableUpdate="True"
[code]...
How do I add a parameter so that it includes the LIKE statement?
I'v been using SqlDataSource and ObjectDataSource for a while.I would like to know about LinqDataSource and EntityDataSource. Therefore I have 2 questions to ask.1) Why do we need to use those twos? 2) In which cirmustances (Requirements) developers are using LinqDataSource and EntityDataSource?
View 1 Repliesi am an asp.net beginner, i am a windows application programmer and currently i am working on big project " Human Resources" and i need to allow the users to apply for jobs using a web page.in windows application, i can use the bindingsource to bind textboxes and comboboxes to the fields of an object from L2S.and to bind the datagrid also to the detailed data and the page will be for inserting issue only,i.e i don't need to bring the data of applicants and certificates from the database, i just need some lookup data like maritalstatusCombo and availableJobsList things to allow the user to choose from.how can i do this using linqdatasource.
View 3 RepliesI use LinqDataSource and GridView.
I need an old value of field "PictureBig" in RowUpdating handler like this:
e.OldValues["PictureBig"]
To achieve this I use bound unvisible literal in edit item template...
<asp:Literal ID="ltBig" runat="server" Text='<%# Bind("PictureBig") %>' Visible="false" />
Is there any better ways of doing this?
I am trying to program the where prameters for this in code behind in C#, and is there really no way to do more than one parameter? Or am I not understanding this correctly? It seems only the 2nd parameter gets executed, no matter which one is at begining. I debug and seems they both get executed fine, but my listview doesn't get filtered and instead only the 2nd paramter works. Look at my code:
Also, if I do myLinq.Where = "division ==1 and someotherInt = 2", it works fine, but if I do two different data types, it will throw error. Since I want to filter with two different data types, hwo do I do this?
Parameter pram1 = new Parameter();
pram1.Name = "division";
pram1.DbType = DbType.Int32;
[code]...
I'm having a question about the LinqDataSource. Does anyone know if it's possible to perform multiple inserts with the LinqDataSource? Let's say for example that I have 2 tables.
Table A
AID = PK autoincrement Name AddressA FK AddressB FK
Table B
BID = PK autoincrementStreetNumberPostalCodeCountry
These tables are just examples to clarify my question. Let's say that I have a FormView with a LinqDataSource where the user can enter his name en a billing address (A) en delivery address (B). Now I would like to know if the LinqDataSource is able to insert 2 records in table B and use these ID's to insert them in table A together with the name?
I need to retrieve data using a date as an input parameter. I created a WhereParameter and passed in a date value that I know to exist in the database, but no data is returned. Heres my code
[Code]....
Ive passed in '02/06/2010' as the date, in the database, the Startdate column has several values of '2010-06-02 13:08:50.503' so I guess its not being found because of the time part. Whats the best way to make sure that I retrieve the correct data ? Im not concerned about the time at all, I just need all rows for 02/06/2010.
If I have a Linqdatasource that isn't connected to a a bound control on my page how do I use the data source to read data in the code behind. ie
var query = (from x in linqdatasource select x)
What I actually want to do is create a data array (myArray) within the code, read all of the data from the linqdatasource (selecting 1 field to form tableDataArray), then compare the two arrays and then write (insert) those into in myArray that are not already in the datasource to the datasource (ie execute an insert back on the datasource).
Where can I find documentation on the syntax that is expected for LinqDataSource.Select? It seems to be different from what I would do with Linq inline in C# code. For example, concatenateing something in Linq I would normally just do this in the projection:
new { FullName = (person.FirstName + " " + person.LastName ) }
However, with a LinqDataSource the only way I've found to do this is like this:
new ( String.Concat(person.FirstName, " ", person.LastName) as FullName)
I literally spent hours trying to figure this out, and only succeeded when I found a blog where someone gave this verbatim as an example. So I still don't understand why the syntax is different, the braces versus parens, aliasing, Concat operators. Next time I do this I want a better understanding so I am not playing this guessing game. It's like being handed a compiler, and trying to write a program when you don't know what language the compiler compiles.1. Are there different "flavors" of Linq? Like a VB Linq, and C# Linq?2. If so, is the LinqDataSource using a VB flavor of Linq?3. Really, what is really important to me, where can I find documentation on this particular falvor of Linq that the LinqDataSource expects? The documentation for the LinqDataSource itself gives nothing more than extremely simplistic examples.