DataSource Controls :: Implicit Conversion From Data Type Sql_variant To Uniqueidentifier Is Not Allowed?
Apr 24, 2010
I am a newbie in ASP.NET. I am facing this problem. I need to insert data into my database, where is primary key uniqueidentifier. I am using FormView and if I insert data there is an error. In asp:Parameter there is no datatype, which is support uniqueidentifier.
Page1 contains GridView1 which displays info from Table1.GridView1 contains a CommandButton which, when clicked inserts the values of all columns, plus a calculated value which goes into an extra column into Table2 handled in the RowCommand event handler of GridView1.Page2 contains GridView2 which displays info from Table2.GridView2 allows the user to alter the value of one of the columns in Table2 using the standard Edit/Update link.All this worked well until...I added UserId and SessionId fields to Table2 (uniqueidentifier and varchar(MAX) respectively,I added the following code to Page1 Code Behind to insert these values from the RowCommand handler:
[Code]....
All of this works beautifully. But... I then added this code to GridView2's RowUpdating event handler:
Implicit conversion from data type sql_variant to varbinary is not allowed. Use the CONVERT function to run this query.
Description:
An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Implicit conversion from data type sql_variant to varbinary is not allowed. Use the CONVERT function to run this query.
I get the error - Conversion from type 'DBNull' to type 'Integer' is not valid. - on the line.....
Dim newid As Integer = e.Command.Parameters("@latestRowId").Value.........in vb code behind.
I have the identical code for another page with the exception of the field names and it works fine. The only thing I did differently, as far as I know, is I copied the asp and code behind from the page that works into this page and manually changed the field and table names. I don't know what the problem is. Does anyone see any problems?
I get this error when I am trying to concatenate the two fields in bold into one field for a datagrid.
select count(cp.iOwnerID) as enrolled,(duration + '' + duration_interval) AS Duration ,session_id,school_id as SchoolId,program_id as ProgramId,convert(nvarchar(10),session_start_date,101) as SessionStartDate, session_class_size as SessionClassSize from dbo.cnSchoolProgramSessions cn with (nolock) left join customerproduct cp on convert(datetime,convert(nvarchar(10),session_start_date,101)) = convert(datetime,convert(nvarchar(10),cp.dtPurchasedate,101)) where record_status = 1 and school_id = '" & iSchool & "' and program_id = '" & iProgram & "' and (CP.chProductNumber = '" & Me.Label5.Text & "' or CP.chProductNumber IS NULL) group by session_id, school_id, program_id,session_start_date,session_class_size,duration,duration_interval
I have a FormView that allows a user to register for a company event. I want to do a couple of things with this form.
1. I need to write this data to a MS SQL database
2. I need to send an email confirmation of their registration to their email.
I know how to do both of these things, but i am having trouble doing both at the same time.
It would be nice if I could do it in one click, but I coded it into two pages to try to help simplify it.
The first page allows the user to input their information into a formview and when they click the submit button, it places those answers into session variables:
[Code]....
[Code]....
The Second page confirms the users information by taking those session variables and placing them into labels:
[Code]....
[Code]....
However, after I place information into the formview on the first page, it throws up this error:
"Conversion from type 'TextBox' to type 'String' is not valid".
I have a gridview which I'm trying to get the display of phonenumbers listed in a certain display format; (xxx) xxx-xxxx.If I have the code such as this, it displays the unformatted phone number and (000) 000-0000 for the null items.
I've got a simple detailsview on a webpage for viewing, adding, and updating inspectors. Since it is a simple details view I'm just used the datasource select, update, delete, and insert commands. When I debug the page it populates the detailsview appropriately and allows me to page through the inspectors but when I try to update a field I'm getting the implicit conversion error in the attached doc. Below is my detail view markup. I was thinking the error is caused by the checkbox type being boolean while the SQL type for "Active" is bit but I've tried to use various conversion methods and can't seem to get them to work.
how I can get around the following error with the following code?
[Code]....
Error: Msg 8169, Level 16, State 2, Line 1 Conversion failed when converting from a character string to uniqueidentifier. As you can probably tell, the datatypes are: m.UserId = uniqueidentifier l.System_User_ID = varchar(256) I was hoping the casting of one to the other would solve the issue, but it doesn't. How can I re-code this? I see from other forums it would probably be best to set all these fields to uniqueidentifier, but would prefer not to at this stage as it will involve changing quite a bit throughout the whole site!
I am trying to retrieve xml from a small function in my .cshtml page. Its throwing me an error. This however, runs fine in a console/form environment. It takes 3 parameters and 1 exception.
[Code]....
Within my GetXML function it simply applies the parameters to a store procedure. The store procedure returns me my object. From there I can do all the fun stuff in .cshtml. When I manually enter the values from within SQL Management Studio, I do in fact get the right result. Again, when I create a Window Form application - I too get the right result! When it comes down to .cshtml or .aspx pages - I get the conversion failed. I have already tried casting the store procedure uniqueidentifier parameter and it still gave me that error.
I have a database call that is comparing UserID column of two tables. The UserID is a uniqueidentifier. The page errors on the r.read() line with Conversion failed when converting from a character string to uniqueidentifier. I'm not sure how to code this to avoid the error.
cmd.CommandText = "SELECT a.CenterName FROM Centers a INNER JOIN UserInfo u ON a.CenterID = u.CenterID WHERE u.UserID='{ + SessionManager.UserID + }'"; r = cmd.ExecuteReader(); r.Read();
Getting this error: Conversion from string "04/07/2010" to type 'Double' is not valid. ---> System.FormatException: Input string was not in a correct format.
Using cmdUpdate As New SqlCommand With cmdUpdate .Connection = onyxConnection .CommandType = CommandType.StoredProcedure[code]....
I am trying to match a username to a userid which are in 2 different sql tables. Here is my select statement:
SELECT aspnet_Users.UserName FROM aspnet_Users INNER JOIN aspnet_starterkits_Projects ON aspnet_Users.UserName = aspnet_starterkits_Projects.ProjectManagerId
When I run this i get an error message: "Conversion failed when converting from a character string to uniqueidentifier" Is there anyway around this? Or a different select statement etc?
once executing, I am getting following error: Conversion failed when converting the varchar value 'insert into Employee(EMPID,EMPNAME,EMPLname) select ' to data type int.
how can in sql server show two columns as one column.. one of them is nvarchar and the other is int from two tables i have did this but it give error
select depart.depart_name+input_comp.no_of_depart as department,dbo.depart.depart_id from dbo.depart inner join dbo.input_comp on dbo.depart.depart_id=dbo.input_comp.depart_id group by depart.depart_name,dbo.depart.depart_id,input_comp.no_of_depart the depart_name is nvarchar datatypeand the no_of_depart is int datatype
the error is
Conversion failed when converting the nvarchar value to data type int.
i am binding the datalist using this code and store procedure. the code works fine if i pass only 1 id, but i have an array which have multiple id's separated by comma like 1,3,5, and i want to use this in the @Id parameter , but i get below conversion error: An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code Additional information: Conversion failed when converting the varchar value '1, 3, 4, 5, 6, 7' to data type int. Code behind code is:
private void PageBind(Int32 pno) { Int32 nor, repcol; nor = Convert.ToInt32(DropDownList1.SelectedValue); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Display_Search_Records";