如何将MySql选择转换为字符串? C#

时间:2015-09-08 03:03:30

标签: c# mysql

将MySQL Select转换为字符串。拿ip

MySqlCommand o = connection.CreateCommand();
o.CommandText = "SELECT Ip FROM Sma.Serv WHERE Id=1";
MySqlDataReader r = o.ExecuteReader();
PingReply rep1 = serv.Send("print Ip from DataBase Here", 1000);

3 个答案:

答案 0 :(得分:2)

查看示例here on msdn

以下是使用与上述内容类似的代码通过GetString方法检索第一个记录的示例:

o.CommandText = "SELECT Ip FROM Sma.Serv WHERE Id=1";
MySqlDataReader r = o.ExecuteReader();
if (r.HasRows)
{
    r.Read();
    var firstRecordIp = r.GetString(0);
}

请注意,您还可以将DataAdapter fill数据用于DataTable

答案 1 :(得分:0)

你可以这样做。

o.CommandText = "SELECT Ip FROM Sma.Serv WHERE Id=1";
MySqlDataReader r = o.ExecuteReader();
string _ip;
while(r.Read())
{
   _ip = r["Ip"].ToString();
}
if(_ip != "")
{
  //do your task
}

答案 2 :(得分:0)

o.CommandText = "SELECT Ip FROM Sma.Serv WHERE Id=1";
MySqlDataReader r = o.ExecuteReader();
string _ip;

那么你期望1结果或0,你可以使用'if'

if(r.Read())
{
    _ip = r[0].ToString();
}

如果您的结果可能超过1,则必须使用while循环

while(r.Read())
{
     _ip = r[0].ToString();
}

在这种情况下,如果你只是在你的请求返回一个ip时你不想做某事,你可以在你的循环中添加一个计数器

int i = 0;
while(r.Read())
{
     _ip = r[0].ToString();
     i++;
}
if(i==1)
{
     // do your stuff
}
else {//do another stuff}

并且不要忘记在!!!

之后关闭datareader
r.Close();