将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);
答案 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}
并且不要忘记在!!!
之后关闭datareaderr.Close();