这里有个基类,基类是我自己写的,基类里有个链接数据库的方法DBCON()我就不写了,反正链接成功了,另一个绑定DATAGRIDVIEW控件的方法如下
class baseclass
  {
       public static void DataGridViewBind(DataGridView dgv , string strSQL)
       {
       SqlConnection conn = DBCon;
       SqlConnection sda = new SqlDataAdapter(srtSQL,conn);
       DataSet ds = new DataSet();
       sda.Fill(ds);
       dgv.DataSource = ds. Tables[0];
        }
  }
 
另一个带DataGridview 的窗口  调用基类的DataGridViewBind()方法,运行后程序跳到基类的DataGridViewBind()方法,提示在基类的DataGridViewBind()方法中出现
public static void DataGridViewBind(DataGridView dgv , string strSQL)
       {
       SqlConnection conn = DBCon;
       SqlConnection sda = new SqlDataAdapter(srtSQL,conn);
       DataSet ds = new DataSet();
       sda.Fill(ds);    //  就是这里 程序提示 显示‘,’附近有语法错误,未处理SqlException
       dgv.DataSource = ds. Tables[0];
        }
 ==========================================================================
再把调用的程序写一下,这个窗口的LOAD事件调用基类的DATAGRIDVIEWBIND方法;
private void form1_Load(object sender,EventArgs e)
{
string sql = "select ID as  '系统' ,subject as '题目',from tb_user where TypeID =1";
BaseClass.DataGridViewBind(dataGridview1,sql); 
//这个窗口里的DataGridView控件名字就是 dataGridview1
}
 
请问是基类的方法写错了吗,怎么改,提示有语法错误,错在哪里,调用程序没提示错。求大神解答。

解决方案 »

  1.   

    select ID as  '系统' ,subject as '题目'from tb_user where TypeID =1
    多了个逗号。
      

  2.   

    回楼上的老大,原程序FROM前没有逗号,是我发帖的时候多打了一个,而且提示是在基类的方法中不是在LOAD事件。
      

  3.   

    你设置一个断点,然后单步调试进入到DataGridViewBind方法体,看看strSQL这个sql语句究竟是什么。根据提示肯定是你的sql语句语法错误。
      

  4.   

    中文逗号的问题?
    select ID as  '系统' 
      

  5.   

    楼上超级橡树朋友回答正确,解决了,非常感谢!就是
    private void form1_Load(object sender,EventArgs e)
    {
    string sql = "select ID as  '系统' ,subject as '题目',from tb_user where TypeID =1";
    BaseClass.DataGridViewBind(dataGridview1,sql); 
    //这个窗口里的DataGridView控件名字就是 dataGridview1
    }
    逗号被我写成中文的了,因为在字符串中,所以写的时候系统不提示。在此感叹网络强大的力量,牛人真多。感谢CSDN