安装好mysql 和mysql-connector-odbc后即可进行编程了。注意程序和connector的版本需要一致,32位或64位。
public static OdbcDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params OdbcParameter[] commandParameters)
{
OdbcCommand cmd = new OdbcCommand();
OdbcConnection conn = new OdbcConnection(connectionString);
//connectionString格式为Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=ncmicrogrid;User=root;Password=root;
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
cmd.CommandTimeout = 180;
OdbcDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch(Exception ex)
{
conn.Close();
throw;
}
}
public OdbcDataReader ReadData()
{
string sql = "your sql";
OdbcDataReader red = OdbcHelper.ExecuteReader(OdbcHelper.ConnStr, CommandType.Text, sql.ToString(), null);
return red;
}
private void GetData()
{
DateTime STime=DateTime .Now.AddHours(-1);
OdbcDataReader red = ReadData();
while (red.Read())
{
red.Close();
}
public static OdbcDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params OdbcParameter[] commandParameters)
{
OdbcCommand cmd = new OdbcCommand();
OdbcConnection conn = new OdbcConnection(connectionString);
//connectionString格式为Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=ncmicrogrid;User=root;Password=root;
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
cmd.CommandTimeout = 180;
OdbcDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch(Exception ex)
{
conn.Close();
throw;
}
}
public OdbcDataReader ReadData()
{
string sql = "your sql";
OdbcDataReader red = OdbcHelper.ExecuteReader(OdbcHelper.ConnStr, CommandType.Text, sql.ToString(), null);
return red;
}
private void GetData()
{
DateTime STime=DateTime .Now.AddHours(-1);
OdbcDataReader red = ReadData();
while (red.Read())
{
//此处从red中读取数据。
double Y = Convert.ToDouble(red[0].ToString());
red.Close();
}