古乙丁三雨あ 2022-10-15 10:44 采纳率: 0%
浏览 89

C#数据库编程时出现列名无效问题

各位,我在使用C#数据库编程时,想查询数据库中符合条件的一行并将其显示在datagridview中,但遇到报错显示列名无效
            string name = textBox1.Text.Trim();
            string teacher = textBox2.Text.Trim();
            String sql4 = "Select * from course where 1=1";
            if (!String.IsNullOrEmpty(name))
            {
                sql4 += " and Name=" + name;
            }
            if (!String.IsNullOrEmpty(teacher))
            {
                sql4 += "and Teacher like '%" + teacher + "%'";
            }
            sql4 += " order by Name";
            string connString = @"Data Source=(local); Initial Catalog=学生成绩管理系统; Integrated Security=true";
            SqlConnection conn = new SqlConnection(connString);
            da = new SqlDataAdapter(sql4, conn);
            ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];

这是我程序的界面

img


在使用教师姓名查询时可以成功查询

img


但是使用课程名称就无法查询,例如使用C语言查询时显示列名“C语言”无效

img


这是我表的内容

img

我所疑惑的是,为什么会显示列名“C语言”无效?,并且该如何解决,
  • 写回答

1条回答 默认 最新

  • 「已注销」 2022-10-15 10:50
    关注

    1、原因

    在程序中值没有给他加引号,所以当成int型处理了。

    2、解决方法

    加上引号就行了,而且sql的单引号双引号是一样的。

    希望对你有帮助~~~

    评论

报告相同问题?

问题事件

  • 创建了问题 10月15日

悬赏问题

  • ¥15 DS1302时钟显示不稳定是怎么回事
  • ¥15 做一个简单的bp500元贵吗?
  • ¥15 为什么点击加入购物车跳转页面应用程序找不到对应的资源该怎么修改
  • ¥15 ANSYS自动化仿真数据
  • ¥15 机器人在mujoco仿真中直接摔倒
  • ¥15 机器学习 模型相关问题
  • ¥30 Visual OpenLLM本地部署报错缺少fbgemm.dll
  • ¥15 关于使用双自由度的随机减量技术(2DOF-RD)法拟合混叠的模态信号时拟合不良的问题
  • ¥15 swiftUI与UIkit日期选择器使用问题
  • ¥60 如何将某一个城市的手机号码归属地按照“区县”区分?