Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#查询MYSQL数据和显示?_C#_Mysql - Fatal编程技术网

如何使用C#查询MYSQL数据和显示?

如何使用C#查询MYSQL数据和显示?,c#,mysql,C#,Mysql,我试着跟随教学,但还是失败了 我试图使用此代码查询名称,但在显示中未成功 我的数据库:testdb表:playdata 我想使用主键“SID”获取名称 我认为SL1应该显示testname,但没有显示任何内容 还是我做错了 我在其他教学中发现了插入信息,他的成功 但查询失败了 string connStr = "server=127.0.0.1;port=3306;uid=root;pwd=123123;database=testdb;"; MySqlConnection conn = new

我试着跟随教学,但还是失败了

我试图使用此代码查询
名称
,但在显示中未成功

我的数据库:
testdb
表:
playdata

我想使用主键“SID”获取名称

我认为
SL1
应该显示
testname
,但没有显示任何内容

还是我做错了

我在其他教学中发现了插入信息,他的成功

但查询失败了

string connStr = "server=127.0.0.1;port=3306;uid=root;pwd=123123;database=testdb;";
MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand command = conn.CreateCommand();
try
{
    conn.Open();
    String cmdText = "SELECT NAME * FROM playdata WHERE SID = 001";
    command = new MySqlCommand(cmdText, conn);
    String _name = (string)command.ExecuteScalar();
    SL1.Text = _name;
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
    switch (ex.Number)
    {
        case 0:
            SL1.Text = "Can not connect";
            break;
        case 1045:
            SL1.Text = "Input error";
            break;
    }
}
Console.ReadLine();
conn.Close();
----*编辑 ----高效编码

    string connStr = "server=127.0.0.1;port=3306;uid=root;pwd=123123;database=testdb;";
    MySqlConnection conn = new MySqlConnection(connStr);
    MySqlCommand command = conn.CreateCommand();

    String cmdText = "SELECT NAME FROM playdata WHERE SID = 'S01'";
    command = new MySqlCommand(cmdText, conn);
    conn.Open();
    try {
        string str = command.ExecuteScalar().ToString();
        SL1.Text = str;
    } catch {
        SL1.Text = "error";
    }

错误在您的查询中,您忘记删除
*
符号。您的代码应该如下所示:

String cmdText = "SELECT NAME FROM playdata WHERE SID = 001";
并且,可能是,您应该为
SID
过滤器添加
'
,因为它可能不是整数:

String cmdText = "SELECT NAME FROM playdata WHERE SID = '001'";

错误在您的查询中,您忘记删除
*
符号。您的代码应该如下所示:

String cmdText = "SELECT NAME FROM playdata WHERE SID = 001";
并且,可能是,您应该为
SID
过滤器添加
'
,因为它可能不是整数:

String cmdText = "SELECT NAME FROM playdata WHERE SID = '001'";

SID
列的类型是什么?错误似乎是因为字符串而不是Int;
SID
列的类型是什么?错误似乎是因为字符串而不是intIt起作用。谢谢:D!顺便说一句,我也尝试在ASP.NET中使用相同的代码,但它似乎不起作用,原因可能是什么?我不知道,没有错误消息,但web底部写着“等待本地主机…”,然后没有任何更改SL1,甚至连您尝试连接
127.0.0.1
(localmachine)的连接字符串中的相同代码都没有,并且,如果数据库不在ASP.NET服务器上,它将永远不会连接。您必须更改连接字符串才能传递数据库服务器IPI。我不确定如何执行此操作,您的意思是更改“connStr”字符串?应该如何进入?您应该在
connStr
中用实际的服务器名称替换
127.0.0.1
,它工作了谢谢:D!顺便说一句,我也尝试在ASP.NET中使用相同的代码,但它似乎不起作用,原因可能是什么?我不知道,没有错误消息,但web底部写着“等待本地主机…”,然后没有任何更改SL1,甚至连您尝试连接
127.0.0.1
(localmachine)的连接字符串中的相同代码都没有,并且,如果数据库不在ASP.NET服务器上,它将永远不会连接。您必须更改连接字符串才能传递数据库服务器IPI。我不确定如何执行此操作,您的意思是更改“connStr”字符串?如何输入?您应该在
connStr
中用实际服务器名称替换
127.0.0.1