|
I have to create mysql stored function from c#.net.
User will create the function at run time and i have to pass this string in odbc command like this...
rt.Text = "CREATE FUNCTION" +" "+ "`" + node + "`" +" "+ "." +" "+"'"+textBox1.Text +"'"+" "+" ()"+" "+ "@RETURNS INT"+" @BEGIN@END;";
rt.Text = rt.Text.Replace("@", System.Environment.NewLine);
OdbcCommand cmd = new OdbcCommand(rt.text, cn);
cmd.CommandText = rt1.text;
cmd.ExecuteNonQuery();
But it shows that You have syntax error.Check the manual that correspond to your mysql document...so plz tell me what is the problem.....??
|
|
|
|
|
nitish_07 wrote: But it shows that You have syntax error
If you encounter an error or an exception, than paste the entire thing into your post. I'm guessing that it's an exception that's thrown on ExecuteNonQuery as your Sql-statement is malformed. It's also damn hard to read.
Concatenating strings is fun, but you don't want to overdo it. The code below is allowed too;
rt.Text = "CREATE FUNCTION `" + node + "` . '"+textBox1.Text +"' () "+
"@RETURNS INT @BEGIN@END;";
rt.Text = rt.Text.Replace("@", System.Environment.NewLine);
OdbcCommand cmd = new OdbcCommand(rt.text, cn);
cmd.CommandText = rt1.text;
cmd.ExecuteNonQuery();
I'm going to guess again that it's the `-character that's not being recognized, and that it should be replace with a '. Further, you'd want a Debug.Print(rt.Text) so that you can easily validate the syntax of your query.
Hope this helps
Bastard Programmer from Hell
|
|
|
|
|
Error is this
System.Data.Odbc.OdbcException: ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.77-community-nt]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 ''df' ()
RETURNS INT
BEGIN
return 1;
END' at line 1
and string is i.e rt.text=
"CREATE FUNCTION `userdb` . 'df' () \nRETURNS INT \nBEGIN\nreturn 1;\nEND;"
|
|
|
|
|
I think the error goes away if you change the type of quote in there;
"CREATE FUNCTION 'userdb'.'df'() \nRETURNS INT \nBEGIN\nreturn 1;\nEND;"
Again, the character ` cannot be used instead of the character ' .
Bastard Programmer from Hell
|
|
|
|
|
ok I am trying...actually this is written in the orginal mysqlbrowser when i create the fucntion
CREATE FUNCTION `userdb`.`gh` () RETURNS INT
BEGIN
return 1;
END$$
so i think this is also ` not ' ???
|
|
|
|
|
Thanks man done....
|
|
|
|
|
First, using string concatentation to build a query is just plain bad practice. Especially when you are doing with with consecutive, individual characters. It makes your code impossible to read and debug accurately.
Oh, and your call to Replace is not needed at all. Using the @ character in a string to denote new lines in an SQL statement is a bad idea since SQL parameters usually start with that character.
A better method is to use String.Format:
string queryString;
queryString = String.Format("CREATE FUNCTION '{0}'.'{1}'()\nRETURNS INT\nBEGIN\nEND;", node, functionName);
Now is your code easier to read, or is mine?
|
|
|
|
|
Yes you are right...Thanks man....If you could provide the solution for the problem which i posted some min ago....
|
|
|
|
|
Every one voted it down how can i remove it?
Ques was:- I am Trying to built the search box for my windows app that searches the data from the database
Thanks
modified 15-Apr-12 9:27am.
|
|
|
|
|
You need to give some more detail about what this box will do and what part you are having trouble with. Putting your question into Google will give you some useful suggestions.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
|
onurag19 wrote: I want to develop a search box for my windows form application please help..
You might want to elaborate a bit on your question. What's going to be searched? A database, the internet, the local filesystem?
If you're targetting a database, read up on the LIKE function.
Bastard Programmer from Hell
|
|
|
|
|
Thanks that wat i was looking for thanks a lot
|
|
|
|
|
Please don't remove original content, it ruins the whole thread as what remains is unintelligible.
|
|
|
|
|
onurag19 wrote: Ques was:- I am Trying to built the search box for my windows app that searches the data from the database
This is no more descriptive than your original question. Try asking a question with some specific detail; you have still not explained which part of this project is causing you difficulty.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
I am Trying to built the search box for my windows app that searches the data from the database like if admins types the keyword student the name of all the students should be shown. I have used the LIKE operator for it but its not working accurately.
|
|
|
|
|
onurag19 wrote: but its not working accurately.
I don't think anyone can guess why from that little information. Try and explain clearly what you are doing, what results you expect, and what results you see. If some of your code is failing then show that code (not all, just the failing portion), and be sure to check and explain the values of any variables used.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
Thanks for you Interest Sir.
|
|
|
|
|
Hello,
I'm using a Datagridview in Windows application. Its working fine in my local machine, but when i tried to execute in my server( Winodws 2008 SP2), few columns not updating with the value using the below statement.
DataGridView1.Rows(e.RowIndex).Cells("ApprovedBy").Value = "UserName"
DataGridView1.Rows(e.RowIndex).Cells("ApprovedDateTime").Value = Now()
Can anyone suggest a solution for this.
Please!!.
Thanks
|
|
|
|
|
What do you return from Now() ? Is it a DateTime ?
|
|
|
|
|
Yes Pete. Its a DateTime column.
|
|
|
|
|
Could you show us the code in Now()? I suspect that this is where your problem is lying - the server using a different date format to your local version.
Of course, you could whack some exception handling and logging into your DAL and see what the server is rejecting.
|
|
|
|
|
DataGridView1.Item("ApprovedDateTime", e.RowIndex).Value = Now()
DataGridView1.Item("ApprovedBy", e.RowIndex).Value = Username
But the same code works fine for below columns
DataGridView1.Rows(e.RowIndex).Cells("LastModifiedBy").Value = Username
DataGridView1.Rows(e.RowIndex).Cells("LastModifiedDateTime").Value = Now()
I tried to mimic the Null reference error, by replacing the first two lines with the below lines
DataGridView1.Item("ApprovedDateTime", e.RowIndex).Value = now() DataGridView1.Item("ApprovedBy", e.RowIndex).Value = username
even now also, i'm experiencing same issue and Application got crashed.
|
|
|
|
|
What are the column definitions for those fields (both the Approved... and the LastModified... fields)? If you could show us your table definitions then we could have a look.
|
|
|
|
|
Hello Pete,
Pls find the details below.
ColumnName DataType Length Nullable
--------------------------------------------------------
ApprovedFlag int 4 no
ApprovedDateTime datetime 8 yes
ApprovedBy varchar 30 yes
LastModifiedBy varchar 30 yes
LastModifiedDateTime datetime 8 yes
|
|
|
|