Can Anyone Spot My Error Please Binding A Gridview
Jan 21, 2008
Hi All
I am trying to bind a gridview to my sql express database through code but my data is not being displayed, i dont get any errors though?
If i bind it using an sql datasource it works fine so i know my connection string works and there is data in my database
my code is as follows
thanks
gibbo
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ReadRecords(GridView1, "Select * from Actions")
End Sub
Public Shared Function GetConnString() As String
Return System.Configuration.ConfigurationManager.ConnectionStrings("actionsConnectionString2").ConnectionString
End Function
Private Sub ReadRecords(ByVal datagrid As GridView, ByVal SQL As String)
Dim ConnString As String = GetConnString()
Dim SqlString As String = SQL
Using conn As New SqlClient.SqlConnection(ConnString)
Using cmd As New SqlClient.SqlCommand(SqlString, conn)
cmd.CommandType = CommandType.Text
conn.Open()
Using reader As SqlClient.SqlDataReader = cmd.ExecuteReader()
datagrid.DataSource = reader
datagrid.DataBind()
End Using
End Using
End Using
End Sub
Hey guys, Am in need of help please, basically the program im working with at the moment is when you add a New Contract, it will grab the Contract Number you have entered, Post it over to another page, then using that number bind a Gridview. The SQL being "SELECT Contract_ID, Contract_Number, Start_Date, End_Date, Quarterly_Rent FROM ECS_Contracts_Test WHERE Contract_Number = " & conNoVar (this being the Contract Number of the recently added Contract), however then it comes to Bind the Grid it kicks up an System.Data.SqlClient.SqlException: Syntax error converting the nvarchar value '2009P7899' to a column of data type int.But the Column Contract_Number is set to Varchar and all I really want to do is to create this gridview using this criteria and not convert anything! The Contract_ID is an int, which is needed as I increment it. Heres the error code: Public Sub BindtheGrid()'Bind the Contract Grid, where ContractID is used Dim SQL As String = "Contract_ID, Contract_Number, Start_Date, End_Date, Quarterly_Rent" Dim objConn As SqlConnection = New SqlConnection(ConnectionString) Dim cmdstock As SqlCommand = New SqlCommand("SELECT " & SQL & " FROM ECS_Contracts_Test WHERE Contract_Number = " & contractQueryID, objConn) cmdstock.CommandType = CommandType.Text objConn.Open() GridView1.DataSource = cmdstock.ExecuteReader() GridView1.DataBind() objConn.Close() End Sub If you need any more information then please let me know. Mucho Aprreciated
Hi all, The Scenario: Database1:Table1(callingPartyNumber,originalCalledPartyNumber, finalCalledPartyNumber, DateTimeConnect, DateTimeDisconnect, Duration) Database2:Table2(Name,Number) Output in Gridview:
callingPartyNumber Name originalCalledPartyNumber finalcalledPartyNumber dateTimeConnected dateTimeDisconnected Duration (HH:MM:SS) I bind gridview programatically using DataTable and stored procedures. The data comes from a table (Table1) in a database (Database1) on SQL Server. The gridview displays fields callingPartyNumber, originalCalledPartyNumber, finalCalledPartyNumber, DateTimeConnect, DateTimeDisconnect and Duration in this order. All the columns in this gridview are databound columns. I have another table (Table2) in a seperate SQL Server database (Database2) but on the same server which maps the callingPartNumber value with the name attached with that number. Note that the field names in Table2 are different from the field names in Table1. Is it possible to display the Name field also in the gridview after the first field callingPartyNumber and then the other fields. Its like data coming from two tables into the gridview. Thanks
Hello All, I am new to data access and i have got the problem to display the data into the page by binding the gridview with sqlConnection, sqlCommand and sqlDataReader objects. The actually code is written as:protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) {SqlConnection myConnection; SqlCommand myCommand;SqlDataReader myReader; myConnection = new SqlConnection();myConnection.ConnectionString = ConfigurationManager.ConnectionStrings["LatteConnectionString"].ConnectionString; myCommand = new SqlCommand();myCommand.CommandText = "select * from AntiVirusVendors";myCommand.CommandType = CommandType.Text; myCommand.Connection = myConnection; myCommand.Connection.Open();myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); GridView1.DataSource = myReader; GridView1.DataBind(); myCommand.Dispose(); myConnection.Dispose(); }
}
and the GridView in html is listed as: <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> So the problem is ---> there is nothing shown in the page, no errors no anything.... just the empty page. Any ideas would be appreciated. Thanks in advance! Joe
Hello I'm experiencing some problems, binding a SqlDataSource to a GridView. The following code creates the SqlDataSource: string strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; string strProvider = ConfigurationManager.ConnectionStrings["ConnectionString"].ProviderName; SqlDataSource ds = new SqlDataSource(strProvider, strConn); ds.SelectCommand = "SELECT * FROM rammekategori"; Then i bind the SqlDataSource to a GridView: GridView1.DataSource = ds; GridView1.DataBind();
ErrorMessage: Format of the initialization string does not conform to specification starting at index 0. Exception Details: System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.Line 24: GridView1.DataBind();Am i totally off target here? Can it be something about, that you have to set the datasource of the gridview, before the Page_Load event?
i am using 2 textbox to search name and instituition of some students. on button click need to display the result on gridview. but i dont get any result.. pl adviceSqlDataSource1.SelectCommand = "SELECT Sname, Address, Instituition, Role, Testgroup, Email FROM std_det WHERE (Sname LIKE '%'+@Param1+'%') AND (Instituition = 'RASET') AND (Role LIKE '%'+@Param2+'%') AND (Instituition = 'RASET')"; name.ControlID = "TextBox3"; name.DefaultValue = "%"; name.Name = "Param1"; name.PropertyName = "Text"; inst.ControlID = "TextBox4"; inst.DefaultValue = "%"; inst.Name = "Param2"; inst.PropertyName = "Text"; //SqlDataSource1.Select(DataSourceSelectArguments.Empty); SqlDataSource1.SelectParameters.Add(name); SqlDataSource1.SelectParameters.Add(inst); SqlDataSource1.DataBind(); //DataView dv = (DataView)this.SqlDataSource1.Select(DataSourceSelectArguments.Empty); GridView2.DataSourceID = "SqlDataSource1"; GridView2.DataBind();
Hi, I am seeking a hopefully easy solution to spit back an error message when a user receives no results from a SQL server db with no results. My code looks like this What is in bold is the relevant subroutine for this problem I'm having. Partial Class collegedb_Default Inherits System.Web.UI.Page Protected Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit.Click SqlDataSource1.SelectCommand = "SELECT * FROM [college_db] WHERE [name] like '%" & textbox1.Text & "%'" SqlDataSource1.DataBind() If (SqlDataSource1 = System.DBNull) Then no_match.Text = "Your search returned no results, try looking manually." End If End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load SqlDataSource1.SelectCommand = "SELECT * FROM [college_db] ORDER BY [name]" SqlDataSource1.DataBind() End Sub Protected Sub reset_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles reset.Click SqlDataSource1.SelectCommand = "SELECT * FROM [college_db] ORDER BY [name]" SqlDataSource1.DataBind() End SubEnd Class I'm probably doing this completely wrong, I'm a .net newb. Any help would be appreciated. Basically I have GridView spitting out info from a db upon Page Load, but i also have a search bar above that. The search function works, but when it returns nothing, I want an error message to be displayed. I have a label setup called "no_match" but I'm getting compiler errors. Also, next to the submit button, I also have another button (Protected sub reset) that I was hoping to be able to return all results back on the page, similar to if a user is just loading the page fresh. I'd think that my logic would be OK, by just repeating the source code from page_load, but that doens't work.The button just does nothing. One final question, unrelated. After I set this default.aspx page up, sorting by number on the bottom of gridview, ie. 1,2,3,4, etc, worked fine. But now that paging feature, as long with the sorting headers, don't work! I do notice on the status bar in the browser, that I receive an error that says, "error on page...and it referers to javascript:_doPostBack('GridView1, etc etc)...I have no clue why this happened. Any help would be appreciated, thanks!
Hi all. I am looking for a script that I might use to spot OS,hardware, registry changes. Also be nice if I could tell when someoneloads new software or unistalls old, by I guess I would see that inregistry changes? I would settle for any of the above...the situationis we have some network engineers who tend to fart around a little tomuch on our production MS-SQL servers and I need to know when theymake a change because they wont own up to it when things go wrong.Can someone help? I realize this would likely be a wmi/wsh/vbsscripting solution, but I also posting this here becasue I figure atleast one shop out there has the same issue I am having with loosecannon admin types.
Hi all I have a form view which uses a SQL data source control to retrieve it's data from the sql express database the form view is used for view,edit,delete and insert data into the database in the insert mode I have two dropdownlists, where the second one is depending on the first one to retrieve the correct data from the data base BUT when selecting a value in the first dropdownlist it give me the following erro: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Please How can do this any help is appriciated bye
While trying to execute the below query I get an error "Invalid Paramter Binding.
SELECT RELEASE_CYCLES.RCYC_NAME+' : '+ CYCL_FOLD.CF_ITEM_NAME /*Test Set Folder (CYCLE).Name*/ as "Cycle Name : Test Component", SUM(case when t3.status='Passed' then 1 else 0 end) "Passed", SUM(case when t3.status='Failed' then 1 else 0 end) "Failed", SUM(case when t3.status='Not Completed' then 1 else 0 end) "Not Completed", SUM(case when t3.status='No Run' then 1 else 0 end) "No Run", SUM(case when t3.status in ('Passed','Failed','Not Completed','No Run') then 1 else 0 end) "Total",
Referring to the book "Data Mining with SQL Server 2005" written by ZhaoHui Tang, I created a Mining Structure and a Mining Model with the AMO API after creating Database and Data Access Objects(referred to code lists from 14-1 to 14-6). I added Nested Table by creating a table column and added a key column to the nested table, while the error showed that in my structure the column of the nested table didn't include effective data bindings when processing.
Dear Forum, I have a gridview control which is associated to a storedprocedure with a parameter(Customer Number) to be supplied. In the Define Custom Statement or stored procedure section I selected stored procedure and selected the stored procedure. The Define Parameter window I defaulted the Parameter Source as 'none' and default value as '%'. In the next screen, I do a test query which retuns the following error There was an error executing the query. Please check the syntax of the command and if present, the type and values of the parameters and ensure that they are correct. [Error 42000] [Microsoft][ODBC SQL Server Drive][SQL Server] Procedure 'SP_TransactionDetails' expects parameter '@cnum' which was not supplied. I am using SQL server studio 2005 version2.0. But the same procedure, if I use as SQL Statement, it works. Can somebody help me. Thanks, Hidayath
Hello, i currently have a gridview that is populated with data from a SQLServer datasource. I have put an output mask in the select statement, so the date and time attributes are displayed in the format i prefer them to be in. SELECT PatientNo, ConsultantName, HospitalName, CONVERT (varchar, Date, 101), CONVERT (varchar, Time, 8) FROM [Appointment]; However when i click the 'edit' link for a record in the gridview, i am unable to edit the date/time attributes and when i click update to confirm any changes to the other attributes, the values in the date/time attributes are emptied. How can i solve this update problem. I'm guessing i need to configure my SQL UPDATE statement, but bit stuck how i do this. Please help! Thanks, James
Can someone help me with this issue? I am trying to update a record using a sp. The db table has an identity column. I seem to have set up everything correctly for Gridview and SqlDataSource but have no clue where my additional, phanton arguments are being generated. If I specify a custom statement rather than the stored procedure in the Data Source configuration wizard I have no problem. But if I use a stored procedure I keep getting the error "Procedure or function <sp name> has too many arguments specified." But thing is, I didn't specify too many parameters, I specified exactly the number of parameters there are. I read through some posts and saw that the gridview datakey fields are automatically passed as parameters, but when I eliminate the ID parameter from the sp, from the SqlDataSource parameters list, or from both (ID is the datakey field for the gridview) and pray that .net somehow knows which record to update -- I still get the error. I'd like a simple solution, please, as I'm really new to this. What is wrong with this picture? Thank you very much for any light you can shed on this.
Hi guys, I am about to bind my websites user inputted values into my database. I intend to use sql for this. THe site is very basic, dropdownlists and textboxes. The user is required to choose values and write in questions. Now these inputs ought to be stored somewhere right??, so for that i am using sql. Now i know sql, but how do I store data from a website and all, I have no clue, someone give me basic steps on how to go about doing this pleaseeeeee!!!
I have this stored procedure that almost works: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go
ALTER PROCEDURE [dbo].[udForumTopicMessageByForumTopicID] @ForumTopicID int AS SELECT ftm_parent.ForumTopicMessageID AS "ForumTopicMessageID", ftm_parent.ForumTopicID AS "ForumTopicID", ftm_parent.ContactID AS "ContactID", ftm_parent.MessageTitle AS "MessageTitle", ftm_parent.MessageText AS "MessageText", ftm_parent.ApprovedInd AS "Approved", ftm_parent.ReviewedInd AS "ReviewedInd", ftm_parent.ParentMessageID AS "ParentMessageID", ftm_parent.OwnerCompany AS "ForumTopicMessageOwnerCompany", ftm_parent.CreateUser AS "ForumTopicMessageCreateUser", ftm_parent.UpdateUser AS "ForumTopicMessageUpdateUser", ftm_parent.CreateDate AS "ForumTopicMessageCreateDate", ftm_parent.UpdateDate AS "ForumTopicMessageUpdateDate", '('+CAST(ChildResponseCount As VARCHAR(10))+')' As "ChildResponseCount", (T_Contact.Lastname + ', ' + T_Contact.Firstname) As "ContactName" FROM [T_ForumTopicMessage] as ftm_parent INNER JOIN [T_Contact] ON [T_Contact].ContactID = ftm_parent.ContactID Left JOIN (Select COUNT([T_ForumTopicMessage].ForumTopicMessageID) As "ChildResponseCount", MAX([T_ForumTopicMessage].ParentMessageID) AS "ParentMessageID" FROM [T_ForumTopicMessage] WHERE [T_ForumTopicMessage].ParentMessageID = ftm_parent.ForumTopicMessageID group by [T_ForumTopicMessage].ForumTopicMessageID) as ftm_child ON ftm_parent.ForumTopicMessageID = ftm_child.ParentMessageID WHERE ftm_parent.ForumTopicID = @ForumTopicID ORDER BY ftm_parent.CreateDate See the purple ftm_parent.ForumtopicMessageID. If I hard-code that to a 2, this works. With the fieldname there, SQL Server Management Studio says: Msg 4104, Level 16, State 1, Procedure udForumTopicMessageByForumTopicID, Line 9 The multi-part identifier "ftm_parent.ForumTopicMessageID" could not be bound. If any experts out there can help me out with this, I'm sure it wouldn't take much to fix.
i want to count the number of times a particular data occurs in a table and display that data in a listbox
initially i planned to count the number of occurrences and bind that number to a variable for further manipulation but i have no idea how to do the binding part
I am new to .net and I am using Visual Web Developer 2005 Express with SQL Server 2005 Express. What I would like to do is connect to my SQL database (which resides in the app_data folder) and open a table and pull out a field and place it in either a textbox or label on the page. No editing or deleting. Just simple one field binding. By the way, I can do this with all the cool built-in tools of VWD, but I want to know how to do it all by hand. I would really appreciate it if someone could help me out.
I have search for answers to the all over google and every thing I have found so far did not work for some reason or anothr. . Here is what I am looking for I am codeing in Visual Studio using C#. I have been able to crate a connection and create taxt boxes with a submit button that when it is presed enters data in to a database (Sql server) what I have been unable to do is: 1. Display data in a text box. 2. Update data 3. create buttons to navagate through fields. I know I can do this with the gridview or datagrid but in really need a custome form for what I am doing.
I am using C#.Net, Visual web Developer, SQL server 2000. I have a SQL query which I am binding it to a DataGrid. SQL : "SELECT ord_number, ord_ID, ord_split, ord_Name, ETD_Date, OSP_FSD FROM ORDERS" In My DataGrid I have a dynamic databound column. I am able to bind one column to this databound column using following code. BoundColumn ETDDate = new BoundColumn(); ETDDate.HeaderText = "ETD Date"; ETDDate.DataField = "OSP_FSD"; mygrid2.Columns.AddAt(ETDDate); but now I want to bind this databound column based on the following criteria to two different database columns. if(ord_split = 1) { ETDDate.DataField = "OSP_FSD"; } else { ETDDate.DataField = "ETD_Date"; } How to get value of ord_split before binding SQL to teh DataGrid? i.e I just want to take value of ord_split and not all the values of SQL. Please Help!
This is an easy question. I thought I have databinded a textbox to a SQLDataSource. But now I do not see how to do that now. Can somebody help with this? Thanks,
Hi, I wants to bind textbox with sqldatasource in c#.net so I am using following code and has following error... Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.Source Error:
Line 22: Line 23: System.Data.DataView dv = (DataView) SqlDataSource1.Select(System.Web.UI.DataSourceSelectArguments.Empty);Line 24: TextBox1.Text = dv[0]["Proid"].ToString();Line 25: Line 26: }Please, anybody knows solution tell me
Ok I have a script to generate a database, and newly added to the database is a date fild for a specfic table. I have the 'Default value or binding' set to (getdate()) how exactly would you add that to the script for then the table is initialy generated. Or is it soemthing I would need another script to do right after the table generation.This is the script for the table in question:CREATE TABLE [dbo].[cust_file] ( [id] [int] IDENTITY (1, 1) NOT NULL , [customer_id] [int] NULL , [filename] [varchar] (255) NULL , [filedata] [image] NULL , [contenttype] [varchar] (255) NULL , [length] [int] NULL, [added_date] [datetime] NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO Any help would be great,Tim MeersWannabe developer.
I want to bind some data to a text box from sql server db. but when i run the page i get an error. here is my code. <form id="form1" runat="server"> <div> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:imacsConn %>" SelectCommand="SELECT Reportnumber FROM [SummaryBlue] WHERE REPORTNUMBER = @REPORTNUMBER"> <SelectParameters> <asp:QueryStringParameter Name="REPORTNUMBER" QueryStringField="REPORTNo" Type="String" />
Error: Exception Details: System.FormatException: Input string was not in a correct format.Source Error:
Line 25: </SelectParameters> Line 26: </asp:SqlDataSource> Line 27: <asp:TextBox ID="TextBox1" runat="server" Columns="<%$ ConnectionStrings:imacsConn %>"></asp:TextBox></div> Line 28: </form>
Hi i'm a new to ASP.NET and for some reason when i click the Next button in the code below, the pageIndex does not change. Please assist, Basically what i'm trying to do is to use DataAdapter.fill but passing in the start index and the number of records to pull from the dataset table. using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.OleDb; public partial class Home : System.Web.UI.Page { //ConnectionOleDbConnection dbConn; //discount that can be change by user using a gui interface //CurrentPageint pageIndex = 0;double discount = 0.15 ; protected void Page_Load(object sender, EventArgs e) { // homeGridView.Visible = true;
BindList();
}protected string getSpecial(string price,object sale) {String special = "";if (sale.ToString().CompareTo("True") == 0) {special = String.Format("{0:C}",double.Parse(price) * (1-discount)); }return special; } protected void BindList() { //Creating an object for the 'PagedDataSource' for holding the data.
//PagedDataSource objPage = new PagedDataSource(); try { //open connection openConnection(); //sql commandstring columns = "*"; string SqlCommand = "Select " + columns + " from Books"; //create adapters and DataSetOleDbDataAdapter myAdapter = new OleDbDataAdapter(SqlCommand, dbConn);DataSet ds = new DataSet("bSet");
//create tableDataTable dt = new DataTable("Books");myAdapter.Fill(ds, pageIndex, 9, "Books");
Response.Write("Page Index: "+pageIndex); //create table data viewDataView dv = new DataView(ds.Tables["bTable"]); booksDataList.DataSource = ds; booksDataList.DataBind();
Hi all. I have a label on my page and I want to bind it to a field in a table. The catch is that I want to bind it to the last row in the table. I think I can use the custom binding, but I don't know how to bind to the last row. Any Suggestions ? p.s. The page is tied to an SqlDataSource that retrieves the data from the above table. Thanks in advance.
Hi, I am using a SQL DataSource with a few parameters. I need to specify the value of the parameters at run time but I need a custom way to do it as the value needs to be calculated not come from Cookie, Control, Form, Profile, QueryString or Session. Is there a way to bind your own value to these parameters. For instance if I had a variable how would I bind that to the parameter? At the moment i am doing the following which works but I dont think it is the correct way dsMyDataSource.SelectParameters["MyParameter"].DefaultValue = MyCalculatedValue; In previous projects i have added a value to the Session and then bound the parameter value to the session but that doesnt seem like a good solution either. Thanks for any help you can give. Martin
Hi All I am new to VS 2005 and ASP.NET. I used to use Dreamweaver to design but now I am trying VS. What I want to do is to display data retrieved with a SqlDataSource in a web page. I know how to do it by binding it to the various controls (Grid, DataList, DetailsView, FormView, Repeater.) available but how can I display it without using any of the mentioned (Grid, DataList, DetailsView, FormView, Repeater)? Any help apprecited.