c#帶參數的sql語句寫入mysql,

下面是別人解決問題的總結:

問題解決了。總結一下:
1.mysql數據庫驅動有兩種:mysql-connector-odbc和mysql-connector-net,
前者不支持參數,後者支持,這是我測試的結果;
2.參數變量使用跟SqlServer一樣,只需把@變爲?,
如,mysql中寫爲:insert into test values (?id,?title,?type,now())";
3.使用mysql-connector-net驅動很簡單,到網上下載mysql-connector-net-5.2.3-src,
解壓後,把mysql.data.dll添加到項目的bin文件夾即可使用;
4.連接本機mysql數據庫方法例子如下---mysql-connector-net:

1)Using Web.config

<connectionstrings>
<add name="WhateverName" connectionString="server=localhost;user id=root; password=yourPassword;database=yourDatabase;;charset=utf8;"/>
</connectionstrings>

charset=utf8字符集

2)using statements

using MySql.Data.MySqlClient;


下面附上測試通過的代碼:
string connStr = WebConfigurationManager.
ConnectionStrings["WhateverName"].ConnectionString;
MySqlConnection conn = new MySqlConnection(connStr);
if (conn != null)
conn.Open();
else
return;

string SQL_INSERT_TOPIC = "insert into test values (null,?title,?type,now())";
string PARM_TITLE = "?title";
string PARM_TYPE = "?type";
MySqlParameter[] parms = new MySqlParameter[]
{
new MySqlParameter(PARM_TITLE,MySqlDbType.VarChar,80),
new MySqlParameter(PARM_TYPE,MySqlDbType.VarChar,1)
};
parms[0].Value = "welcome to beijing";
parms[1].Value = "C";

MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = SQL_INSERT_TOPIC;

foreach (MySqlParameter pram in parms)
cmd.Parameters.Add(pram);

cmd.ExecuteNonQuery();
conn.Close();

5.連接本機mysql數據庫方法例子如---mysql-connector-odbc

 

轉自:

http://dotnetperls.com/Content/OdbcConnection-Example.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章