Parameters In Query The Database Doesn't Update In C# And Mysql Using Odbc
Nov 30, 2010
when i specify values in my update query the query works fine and the database gets updated, but when i use parameters in my query the database does not update here is the code i have written
I have a page 3 datacontrols (in order, datalist->grid->listview, the selection from one feeds into the next) works perfectly locally, using dot net connector for mysql. My webhost uses ODBC, and I had to remove [ ] from the select statements in my code and put the table names. I removed the [ ] 's and my page runs, and my 1st/datalist control shows but now my "selected value" of my datalist, doesn't populate my grid control. I imagine theres another peculiarity with the way odbc handles parameters. Here is my original, for my grid:
<asp:SqlDataSource ID="recipegrid" runat="server" ConnectionString="<%$ ConnectionStrings:exoticingConnectionString %>" ProviderName="<%$ ConnectionStrings:exoticingConnectionString.ProviderName %>" SelectCommand="SELECT [Id], [Name], [Cal], [Pro], [Fat], [Carb], [Fiber], [Chol], [Sod] FROM [tblrecipes] WHERE ([filenameid] = @filenameid) ORDER BY [name]"> <SelectParameters> <asp:ControlParameter ControlID="DataList1" Name="filenameid" PropertyName="SelectedValue" Type="Int32" /> </SelectParameters> </asp:SqlDataSource>
example of changes to select that allowed my page to run again: SelectCommand="SELECT tblrecipes.Id, tblrecipes.Name, tblrecipes.Cal, tblrecipes.Pro, tblrecipes.Fat, tblrecipes.Carb, tblrecipes.Fiber, tblrecipes.Chol, tblrecipes.Sod FROM tblrecipes WHERE tblrecipes.filenameid = @filenameid ORDER BY tblrecipes.name">
BTW, I also tried removing my scriptmanager & updatepanel,, and using autopostbacks instead in my controls, jik, and nothing changed so I put it back.
I am currently making a website on asp.net and i am creating methods using TableAdapter. I am connected to MySql using an ODBC connection. The select * from department will work perfectly for me but when trying to use parameters i am given an error message on the wizard. select * from department where name = @name gives me the error: Error in where clause near '@' unable to parse query text. also tried select * from department where name = ?: this gives me the error: No mapping exists from dbTypeObject to a known Odbc type.
I am with GoDaddy (yeah, yeah, don't want to hear it) and must use ODBC to connect to my MySQL database. The connections are working fine but I have a GridView/DetailsView parent/child relationship set up between 3 pages. I know that these pages worked with a .NET Connector locally but after I changed them to ODBC, I only get the first part of the page, nothing that depends on data being selected works. This has led me to believe that I must alter the way I pass parameters to the next request page. I have read some things about using a question mark but I cannot figure out how I should apply it to my page as most examples are in C# or VB. My page is mostly pure ASP.NET and I'm not sure if I still continue to utilize the asp:ControlParameter. the code below.
how to get GoDady to alter their medium trust to accept sockets???? That's all it would take
This is the page my employees will use to view the people in the database and then select them and have a details view of that particular cust_code (customer code) pop up to the right of the gridview:
[Code]....
This is the page ( UpdatePrefCustomers.aspx ) that my employees, who will be allowed access it (yes, I already know how to apply authorization but will do it last before deployment so it doesn't drive me crazy when I preview in browser), will use to add, edit, and delete from the database. It must be accessed first and the other two pages, prefcust_edit.aspx and prefcust_insertt.aspx are called from it by passing the parameter cust_code:
protected void Button3_Click(object sender, EventArgs e) { //Create a connection to the database MySqlConnection conn = new MySqlConnection("Database=kid07025;Data Source=195.178.228.254;User Id=kid07025;Password=********"); //open the connection conn.Open(); //MySQL Query which updates the row where Anvandarnamn = Anvandarnamn (recieved from a cookie) MySqlCommand cmd = new MySqlCommand("UPDATE personer SET Information=?Information,Fnamn=?Fnamn,Enamn=?Enamn,Personnr=?Personnr,Adress=?Adress,Postnr=?Postnr,Ort=?Ort WHERE Anvandarnamn=?Anvandarnamn", conn); // Update with new text cmd.Parameters.AddWithValue("?Anvandarnamn", Request.Cookies["Anvandarnamn"].Value); cmd.Parameters.AddWithValue("?Information", TextBox1.Text); cmd.Parameters.AddWithValue("?Fnamn", TextBox2.Text); cmd.Parameters.AddWithValue("?Enamn", TextBox3.Text); cmd.Parameters.AddWithValue("?Personnr",TextBox4.Text); cmd.Parameters.AddWithValue("?Adress", TextBox5.Text); cmd.Parameters.AddWithValue("?Postnr", TextBox6.Text); cmd.Parameters.AddWithValue("?Ort", TextBox7.Text); cmd.ExecuteReader(); conn.Close(); RefreshProfile(); }
I don't know what I am doing wrong here, but the database doesn't get updated when I press the button.
My code is to update a record if it already exists in database else insert as a new record. My code is as follows:
protected void Button3_Click(object sender, EventArgs e) { OdbcConnection MyConnection = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"); MyConnection.Open(); String MyString = "select fil_no,orderdate from temp_save where fil_no=? and orderdate=?"; OdbcCommand MyCmd = new OdbcCommand(MyString, MyConnection); MyCmd.Parameters.AddWithValue("", HiddenField4.Value); MyCmd.Parameters.AddWithValue("", TextBox3.Text); using (OdbcDataReader MyReader4 = MyCmd.ExecuteReader()) { //** if (MyReader4.Read()) { String MyString1 = "UPDATE temp_save SET order=? where fil_no=? AND orderdate=?"; OdbcCommand MyCmd1 = new OdbcCommand(MyString1, MyConnection); MyCmd1.Parameters.AddWithValue("", Editor1.Content.ToString()); MyCmd1.Parameters.AddWithValue("", HiddenField1.Value); MyCmd1.Parameters.AddWithValue("", TextBox3.Text); MyCmd1.ExecuteNonQuery(); } else { // set the SQL string String strSQL = "INSERT INTO temp_save (fil_no,order,orderdate) " + "VALUES (?,?,?)"; // Create the Command and set its properties OdbcCommand objCmd = new OdbcCommand(strSQL, MyConnection); objCmd.Parameters.AddWithValue("", HiddenField4.Value); objCmd.Parameters.AddWithValue("", Editor1.Content.ToString()); objCmd.Parameters.AddWithValue("", TextBox3.Text); // execute the command objCmd.ExecuteNonQuery(); } } }
I am getting the error as: ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.51-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order,orderdate) VALUES ('04050040272009',' &' at line 1
The datatype for fields in table temp_save are:
fil_no-->INT(15)( to store a 15 digit number) order-->LONGTEXT(to store contents from HTMLEditor(ajax control)) orderdate-->DATE(to store date)
I can check whether username exists or not successfully but not for email. any ideas why it isn't working? Error message was that i did not close my connection. using System;
my webserver is in the DMZ. The Database in the intranet. For connection from webserver to database the following entry is made in the odbc connection "TCPIP BCAST=NO;HOST=Intranet.Firma.local,Intranet_Spiegel.Firma.local,Intranet_Arbiter.Firma.local;PORT=2639}"
how to get this options in the connection strings working, or how i must modify the entitiy framework connection string to use the odbc entry?
I've a requirement that I need to read an excel sheet programmatically using asp.net/C# and write the data obtained into a mysql table.The excel sheet contains something around 50 columns and 2000 records.I am able to read the data from the excel sheet and store it in a dataset.I am using the following code to write the data into mysql table.
for (int i = 1; i <= myDataSet1.Tables[0].Rows.Count - 1; i++) { MySqlCommand cmd = new MySqlCommand(); for (int j = 0; j <= myDataSet1.Tables[0].Columns.Count - 1; j++) { paramset[j] = myDataSet1.Tables[0].Rows[i][j].ToString(); cmd.Parameters.AddWithValue("val" + j, paramset[j]); } cmd.CommandText = "Insert into faqimport cmd.Connection=con; cmd.CommandType = CommandType.Text; int x=cmd.ExecuteNonQuery; }
When I try to run the above code I am getting 'Unknown column 'val0' in 'field list'' error.I understand that i am manually creating the parameters val0,val1,val2.....instead I am creating them dynamically using the integer 'j'.But I do not want to create around 50 parameters to insert data into the database table.
Also is there a way i can get the column datatypes from the excel sheet in order to create a new table in mysql with the columns in the excel sheet?
I'm thinking the problem here is with my SQL Syntax, but I'm not sure and need a fresh pair of eyes to check it out. This is the code I'm using to connect to and then insert into the DB:
I created a DSN to the database, which is hosted on my machine. When I run the application I get this error:
ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.51-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, secretkey, uid) VALUES ('127090765-i3aZl71LPSVUCPZs9kHSYeBli0vWpbq0BaM1roYC' at line 1
But for the life of me I can't figure out what's wrong with my syntax...It's prolly something simple, but again, I need a pair of fresh eyes to look at this.
I have a problem that I can't figure out. I shall read an images from a column in a MySQL database. I use a simple aspx page and the codebehind file with the code below.
It is ok to read the image if I don't use any parameter value in the where clause, but if I use it, nothing is returned. I don't know if I have done anything wrong in the code. I have also tried to set a proper value on the parameter.value without success. So my conclusion is that the parameter sertup is wrong in my code.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim PictureID As Integer = Convert.ToInt32(Request.QueryString("id")) 'Connect to the database and bring back the image contents & MIME type for the specified picture
I'm having problem on passing parameter on odbc because it's not working at all. I tried this using sql and I have no problem at all. All are working fine. Is there a different syntax on odbc? Here's my code:
[Code]....
Or using mysql connector/net to use mysql. I'm having problem installing it because the visual studio integration is not working, so I can't find it on the data source provider.
I am trying to make connection to a remote database server and I am getting the following message. I think i have to grant access to the client maching from my database server.. How do i grant access to an ip addess?
ERROR [HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'thelp'@'123.29.14.30' (using password: YES) ERROR [HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'thelp'@'123.29.14.30'(using password: YES)
how to connect ASP to MySQL database. I have already install MySQL in my localhost, Add a connection through Data Source (ODBC) in ctrl panel and test connection succeed. Now I want to show the query on my default.aspx page so that I can do the insert / update / delete my table data in MySQL.
System.Data.Odbc.OdbcException: ERROR [HY000] [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on '127.0.0.1' (10048)ERROR [HY000] [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on '127.0.0.1' (10048)
I have a problem whenever i run my code i get the following error ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.46-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' ('b'), ('Manager'), ('c'), ('d'), ('e')' at line 1 my code works with connector/net but my host does not have it installed so i've had to change my code to odbc which they do have, i have found out the syntax is different and changed my code accordingly my code is as follows
Problem in my sql syntax I get the error:ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-5.5.9]Not unique table/alias: 'WallPosting'
string theUserId = Session["UserID"].ToString(); using (OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite2; User=x; Password=x;")) cn.Open(); using (OdbcCommand cmd = new OdbcCommand("SELECT WallPosting.Wallpostings FROM WallPosting LEFT JOIN WallPosting ON User.UserID = WallPosting.UserID WHERE [code]...
I'm busy working on an ASP.NET Web Application (3.5) and can't seem to connect to a MySQL DB. I first created the entire application using a WinForms template and everything works 100%, but as soon as I move the exact same code to the Web Application, I can't connect anymore. Here's the code:
Code: public class DBC { OdbcConnection connection; public bool CreateConnection() { try { string connFormat = "Driver={MySQL ODBC 5.1 Driver};Server=[SERVER];Database=[DBNAME];User=[UID];Password=[PWD];"; connFormat = connFormat.Replace("[SERVER]", Properties.Settings.Default.DBServer);
[Code] .....
As soon as I try to create the new OdbcConnection instance, I get the error:
Code: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
As noted this works in a WinForms app, and even more strange is that I don't even specify a DSN name...
All I could find from reading through forums all over the internet is suggestions of downgrading the MySQL ODBC driver version, which I'd really rather not...
that works fine. but while using MSaccess and the datatype for of some table is Memo than how could I use parameter for that i am using System.Data.Odbc. cos here it is easy to do SqlDbType.Nvarcha cos there is shows Nvarchar but not Memo
I have an excel file which gets updated every 10 seconds through an automated process. I need excel data to be updated in MY-SQL database which is located on a remote server.
How do I do that?
I have thought of following option: 1) Every 11 seconds, an Excel macro will run and will "Save as" excel as CSV file. (not sure whether this can be done by macro...just thinking) 2) This CSV file we will FTP to remote server using Windows Service. 3) On remote server, we will parse the csv file and Update MYSQL database.
Is this approach fine? Or do you have a better approach which requires less time to update the database?
I am using ODBC command and adding parameters to it. But it always keeps on saying procedure proc_Update expects a parameters @id which was not supplies ( this errors comes for all the paramters that I add).
Im hosting my site over at some ISP, and when i try to use INSERT or UPDATE procedure, i get this error : "SELECT command denied to user 'KidumMac'@'localhost' for table 'proc' "Which is really wired for two reasons:
A. In my code i don't reference whatsoever to the MySql databse, nor the "proc" table B. In the myPHPadmin program the queries work just fine. Any insights?
the second problem is that when i try to import my database, the tables import fine, but when it gets to import the stored procedure, it tells me that the user needs SUPER PRIVILEGES for that. what is it ?
I have been stuck on this for a while and I can't seem to get it to work despite looking for answers in books and all over the web, so I hope perhaps you all can help me figure this out...
Here's what I'm trying to do....
I have some information in a simple product database displaying in a gridview table. One of the columns is a row of checkboxes indicating whether the item has been discontinued or not. When the row gets updated, it needs to update the checkbox value in the database.
1. It needs to be disabled until the row is getting edited.
2. Send the string value of 0 or 1 to the database when the row is updated.
Here's the code for the sql datasource and the gridview part in question...
Im trying to update my DB(DataBase) by using SQL UPDATE query ,but its not updating in the dataBase i receive confirmation(in testLabel) that one row is affected(dataReader = query.ExecuteReader(); return numbers of rows affected)...
I have given a HTML editortext control on a page,which generates HTML (i have to store it in my DB,that page is only for Admin) ,on pressing Update button , im receving in my testLabel that one row is affected(which shows DB is updated succesfully) but when i check my DB its in old state,it is not updating...
Here is my Event handler of Update Button which have to make updates in DB: