using (System.Data.Odbc.OdbcConnection cnn = new System.Data.Odbc.OdbcConnection())
{
cnn.ConnectionString = "...";//连接字符串没问题,这里省略
cnn.Open();
System.Data.Odbc.OdbcCommand command = cnn.CreateCommand();
command.CommandText = "DELIMITER |";
command.ExecuteNonQuery();
}为啥会暴异常呢?
using (OdbcConnection cnn = new OdbcConnection())
{
cnn.ConnectionString = "Dsn=mysql;";
cnn.Open(); OdbcCommand cmd = cnn.CreateCommand();
//还是不行呀,我下面的sql语句写得有问题吗?
cmd.CommandText =
"DROP PROCEDURE IF EXISTS sp_test;create procedure sp_test(in num int) begin end ;";
cmd.ExecuteNonQuery();
}
using MySql.Data.MySqlClient;
不需要,直接把 MySql.Data.dll 复制到你的C#项目文件夹中就行了。然后引用一下。
using MySql.Data.MySqlClient;
using System.Data;
using System.Data.OracleClient;
using System.Globalization;
using System.Collections;
.....
static void Main(string[] args)
{
string sMySQLConnStr = "Database='csdn';Data Source='localhost';User Id='root';Password='123'";
MySqlConnection mysqlCnn = new MySqlConnection(sMySQLConnStr);
mysqlCnn.Open();
MySqlCommand cmd = new MySqlCommand("DROP PROCEDURE IF EXISTS sp_test;create procedure sp_test() begin select 1; end ;", mysqlCnn);
cmd.ExecuteNonQuery();
}
运行结果
mysql> show procedure status like 'sp%';
+------+---------+-----------+----------------+---------------------+---------------------+---------------+-----
| Db | Name | Type | Definer | Modified | Created | Security_type | Comm
+------+---------+-----------+----------------+---------------------+---------------------+---------------+-----
| csdn | sp_test | PROCEDURE | root@localhost | 2010-04-05 20:32:15 | 2010-04-05 20:32:15 | DEFINER |
+------+---------+-----------+----------------+---------------------+---------------------+---------------+-----
1 row in set (0.06 sec)mysql>