C# 未处理的Sql异常'=';?

C# 未处理的Sql异常'=';?,c#,sql,exception,C#,Sql,Exception,这是我的搜索按钮: private void btnSearch_Click(object sender, EventArgs e) { string RegNo = txtRegNo.Text; txtFname.Text = dba.ReturnStudentData("RegNo", "Student", RegNo, "PhoneNo"); txtLname.Text = dba.ReturnStudentData("RegNo",

这是我的搜索按钮:

private void btnSearch_Click(object sender, EventArgs e)
    {
        string RegNo = txtRegNo.Text;
        txtFname.Text = dba.ReturnStudentData("RegNo", "Student", RegNo, "PhoneNo");
        txtLname.Text = dba.ReturnStudentData("RegNo", "Student", RegNo, "Lname");
        txtPhoneNo.Text = dba.ReturnStudentData("RegNo", "Student", RegNo, "PhoneNo");

    }
这是我的数据库访问:

public string ReturnStudentData(string Primary_key, string Table_Name, string RegNo, string Column)
    {
        string temp = "";
        if (conn.State.ToString() == "Closed")
        {
            conn.Open();
        }
        SqlCommand newCmd = conn.CreateCommand();
        newCmd.CommandType = CommandType.Text;
        newCmd.CommandText="SELECT"+Column+"FROM"+Table_Name+"WHERE"+Primary_key+"="+RegNo+"";
        SqlDataReader dr = newCmd.ExecuteReader(); **// here i got error**

        while(dr.Read())
        {
            temp = dr[Column].ToString();
        }
        dr.Close();
        conn.Close();
        return temp;
    }

这是我上面的代码,我在搜索DB put主编号时出错,意思是..有人能帮我吗..

首先,您应该在sql命令中添加空格

newCmd.CommandText="SELECT "+Column+" FROM "+Table_Name+" WHERE "+Primary_key+"="+RegNo+"";
否则你会得到这样的结果:

SELECTcolumnt1,column2FROMmyTableWHEREKey=123
而不是:

SELECT columnt1,column2 FROM myTable WHERE Key=123

其次,打印newCmd.CommandText以查看最终查询是什么。

首先,您应该在sql命令中添加空格

newCmd.CommandText="SELECT "+Column+" FROM "+Table_Name+" WHERE "+Primary_key+"="+RegNo+"";
否则你会得到这样的结果:

SELECTcolumnt1,column2FROMmyTableWHEREKey=123
而不是:

SELECT columnt1,column2 FROM myTable WHERE Key=123

其次,打印newCmd.CommandText以查看最终查询。

打印newCmd的内容以查看您试图执行的语句。然后请将此添加到您的问题中。RegNo=null???或者“”??啊,让我向您介绍。打印出newCmd的内容以查看您试图执行的语句。然后请将此添加到您的问题中。RegNo=null???或者“?”啊,让我给你介绍一下。