c# - 如何使用C#查询MYSQL数据并显示?

标签 c# mysql

我试着按照教义去做,但还是失败了

我尝试用这段代码查询NAME但没有显示成功

我的数据库:testdb 表:playdata

我想使用主键 'SID' 来获取 NAME

我认为 SL1 应该显示 TEST NAME,但没有显示

还是我做错了?

我在其他教学中找到了插入信息,他成功了

但是查询失败

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'";

关于c# - 如何使用C#查询MYSQL数据并显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30526941/

相关文章:

c# - 来自存储过程的模式

C# WPF 捕获键盘和鼠标

c# - 将字符串格式化为具有负货币的货币,例如 $(10.00)

c# - 黑莓中的加密和.net webservices中的解密

mysql - 复制 MySQL 表并填充其他字段

MySQL ERROR 1064 在线,但不知道哪里出了问题?

c# - 从 PropertyInfo 创建通用列表 <Type>

mysql - PROTOCOL_SEQUENCE_TIMEOUT

c++ - 嵌入 C++ 的 MySql

mysql - Laravel 4 将数据库字段更新为空 - 错误