DataSource Controls :: How To Get List Of Columns From SqlDataSource
Jan 17, 2010
I use MySQL database and SqlDataSource controls. I generate update and insert queries in my code behind.how I can get a list of columns from the SqlDataSource control?
Basically, what I want to do is to get all my data in 1 statement and then pull data from that into a GridView. I already have the columns that I want displaying in the GridView, but now I want to insert a footer row in between the header row and all the datarows, that contains a couple columns that will be the same for every row in the GridView. So something along the lines of this:
I have drop down list box that I would like to show two columns, is this possible? Or can it be done with a list box?The query correctly retrieves all of the table data to be displayed, one colum is an abbreviation, the other a bit longer description.
I have been looking at this article: [URL] However, I have a question: Can't this be used with a sqldatasource, instead of binding the gridview behind? If so, how?
I have a gridview that loads with a new datasource on button click event. On the gridview (which is located in a table columm incidentally) are 2 columns, a descriptor and a checkbox. The problem is that after postback, the column widths change, the checkbox column expands and the other column contracts. Is there a way to keep the gridview column sizes the same after postback?
i have two sqldatasource controls. one i use to display data in textbox's ,filter'd by a select parameter in page behind code. Once checked, i want to copy this data to the other datasource ,by selecting checkbox.Then display this data in detailsview control.
At present the two datasource controls declared , render data to the page simultaneously during pageload. I want to first check data in textbox's from first source, before second datasource is rendered to screen. note, both are filtered by a page variable. i wish to leave the textbox datasource control in situ, as other controls and code depend on it.The other detailsview datasource is my problem?
I have a Detailsview grid with an SqlDatasource, this DVG is only going to be used to insert records. The primary purpose of the DS is to populate a DDL control in the insertItem Template that I created my code is this:
[Code]....
The DDL control populates correctly, but when I try to modify the INSERTCommand property in my DS, I try to assign the value to my parameters "TesterID" and "TesterDate" but the only options for controls to pick from, is the DGV but not the DDL in it. I assume it has to do with the InsertItem template but even if I reset it I still cannot pick the textbox as a control that would give the value to my parameters.
I did find a workaroun by build a public method and calling it in the onclick event of the insert button but looks like I have to create another connection to the database which to me seems unnecessary since I already have a DS and everything. how can I do this without having to use my method. here is my method just in case.
I have asked similiar question before where I have two control on the page header says "username" and "gender". User can select both the control or either one and the page will execute searching based on the criteria supplied. So if username supplied
SELECT * FROM [this_table] WHERE username = @username and if gender supplied SELECT * FROM [this_table] WHERE gender = @gender and if both supplied SELECT * FROM [this_table] WHERE username = @username AND gender = @gender
I know this sounds not very complicated but in my case, I am having like more than 10 controls up there. It is something likeusername, gender, age, date of brith, title, father name, frst name, last name, blur blur blur and it's a lot then I started to lost. if i were to use if else caluse on code-behind and produce query, it would end up writing a lot of if-else and if i use stored procedure (with if-else) then my stored procedure would contains a lot of if-else statement. I am fairly new to this concept and if I'm on the wrong track, please correct me. Is there any better way to save my hair without actually going through each if-else statement to build the query ?p.s. I'm using GridView and SqlDataSource command to display the result back on .aspx page.
I am trying to check whether a username exists in my database before inserting the new row & display a message to the user if it does.
On my SqlDataSource my InsertCommand looks like this:
InsertCommand="IF NOT EXISTS (SELECT * FROM Users WHERE UserName = @UserName) BEGIN INSERT [Users] ([UserName], [FirstName], [LastName], [City], [State], [Country], [CompanyName], [Active], [PasswordHash]) VALUES (@UserName, @FirstName, @LastName, @City, @State, @Country, @CompanyName, @Active, @PasswordHash) END"
This works as expected: If the username is unique, the row is created.
If the username already exists, the row is not added.
The problem is, if the row already exists, the insert is rejected but the user is not notified.
So my question is, is there a way I can notify the user?
Maybe something like: InsertCommand = "If Not Exists (select....) Begin Insert...Else Notify User Somehow End This is a basic database, I'm not using the built-in membership provider nor will be.
i use below sqldatasource for search within a gridview and it is working fine.i just add this control and set gridview datasource id to sql datasource id .but i need the same in codebehind dynamically.i need like this becuase i need to search in three textbox but before i use one textbox. so could someone show me a example how i add a sqldatasourse in code behind and set filter parameter for search from a gridview.
Which one is better for me to store urls of my products images while i was trying to bind images with gridview. provide me some code snippet to bind images to gridview with XMLDataSource.
If I have a SqlDataSource like this one, is it possible to add a DataRelation in the sqldatasource? Or do I need to create a DataSet and add the Relation in CodeBehind?
I have an SqlDataSource query that should use an input parameter for multiple integer values, like:
select * from table1 where TableID IN (1,2,3,4,5)
->
select * from table1 where TableID IN (@IDValues)
How do I do that ? Default parameter settings won't work, returning "invalid integer value" . I suppose that parameter should be passed as some kind of array that SQL recognizes as multiple integer values , but what's the correct way of setting this ?
i want to ask how to i set variable in asp:sqldatasource in sqlcommand in asp.net c#.... This is my code
asp.net <dx:ASPxListBox ID="lsAssignToko" runat="server" DataSourceID="SqlDataSource6" TextField="NAMA" ValueField="ID" AutoPostBack="true" EnableCallbackMode="True" SelectionMode="CheckColumn" OnSelectedIndexChanged="lsAssignToko_SelectedIndexChanged"> <Columns> <dx:ListBoxColumn FieldName="ID"/> <dx:ListBoxColumn FieldName="NAMA" /> </Columns> </dx:ASPxListBox> <asp:SqlDataSource ID="SqlDataSource6" runat="server" ConnectionString="<%$ ConnectionStrings:Ora2010 %>" ProviderName="<%$ ConnectionStrings:Ora2010.ProviderName %>" SelectCommand="SELECT ID, NAMA FROM REF_TOKO WHERE ID IN ( :inTOKO ) ORDER BY NAMA"> <SelectParameters> <asp:SessionParameter Name="inTOKO" SessionField="inTOKO" Size="200" Type="String" /> </SelectParameters> </asp:SqlDataSource> c# string dummy = ""; string data = ""; string inTK = ""; string inTOKO = ""; //string inTOKO1 = ""; int pot; for (int i = lsToko.SelectedItems.Count - 1; i >= 0; i--) { string tok = lsToko.SelectedItem.Text.ToString(); data = lsToko.SelectedItem.Value.ToString(); dummy = dummy + "" + data + ","; int index = lsToko.SelectedItem.Index; lsToko.Items.RemoveAt(index); } if (lsToko.SelectedItems.Count <= 1) { inTK = dummy.Length.ToString(); pot = int.Parse(dummy.Length.ToString()) - 1; inTOKO = dummy.Substring(0, pot); } Session["inTOKO"] = inTOKO;
the problem is where in my variable inTOKO consist of couple of value... Example while variable inTOKO = one value success but while value inTOKO = two value error inTOKO = 1101111 => success inTOKO = 1101111,1211321 => not success