首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#链接mysql,该如何解决

2013-03-10 
C#链接mysql我测试了下,sql语句没错,放到数据库里 有记录出来,链接什么的也没报错,数据库链接正常,但是我

C#链接mysql
我测试了下,sql语句没错,放到数据库里 有记录出来,链接什么的也没报错,数据库链接正常,但是我返回的dt是null
public DataTable getWX(string tname)
        {
                string sql = "select stoptime,spe,TimeStampDiff(SECOND,gpstime,now()) servertime,model,gpstime,lon,lat from tb_terminal where tName='" + tname + "'";
                return DBAccess.getDataMySql(sql, "mySql");
        }


public static DataTable getDataMySql(string sql, string connString)
        {
            using (MySqlConnection conn = new MySqlConnection(connectionString(connString)))
            {
                using (MySqlCommand comm = new MySqlCommand(sql, conn))
                {
                    DataTable dt = new DataTable();
                    try
                    {
                        conn.Open();
                        MySqlDataAdapter sda = new MySqlDataAdapter();
                        sda.SelectCommand = comm;
                        sda.Fill(dt);
                    }
                    catch (Exception) { throw; }
                    finally
                    {
                        comm.Parameters.Clear();
                        comm.Dispose();
                        conn.Close();
                    }
                    return dt;
                }
            }


        }
[解决办法]


conn.Open();
MySqlDataAdapter sda = new MySqlDataAdapter();
sda.SelectCommand = comm;
DataSet ds=new DataSet();
sda.Fill(ds);                //我使用的多是填充DataSet
dt = ds.Tables[0];           //然后由DataSet返回DataTable




希望对你有帮助
[解决办法]
断点调试:
1.conn的state是否为open;
2.comm的 SelectCommand看是否有换行等字符;
3.Fill之后看dt中是否有值;

另外你用的是MySQLDriverCS是吧?试下这个:
 DataTable dt = new MySQLSelectCommand(conn,
                                                        new string[] { 你的查询字段 },
                                                        new string[] { "tb_terminal" },
                                                        new object[,] { { "tName", "=", tname } },
                                                        null,
                                                        null
                                                        ).Table;

热点排行