哪位大佬帮忙看一下,老是报语法错误

   public void Delete_Data(string SelectName, string DatePath,  string TableName )
        {
            OleDbConnection conn = CreateConnection(DatePath);
            try
            {
            string StrSql = "delete * from " + TableName + " where Id=" + SelectName.Trim()+"";    
            OleDbCommand comm = new OleDbCommand(StrSql, conn);
            comm.ExecuteNonQuery();
            conn.Close();
                MessageBox.Show("删除成功!");
            }
           catch (Exception ex)
           {
               conn.Close();
                MessageBox.Show("删除失败!" + ex.Message);
           }
}

 string StrSql = "delete  from " + TableName + " where Id= '" + SelectName.Trim()+"'";    

改成这样就好了

id=后面少了一个单引号

string StrSql = "delete * from " + TableName + " where Id='" + SelectName.Trim()+"";    

SelectName是数字还是字符串如果是字符串,需要加单引号。如下:

  string StrSql = "delete * from " + TableName + " where Id= '" + SelectName.Trim()+"'";    

public void Delete_Data(string SelectName, string DatePath,  string TableName )
        {
            OleDbConnection conn = CreateConnection(DatePath);
            try
            {
            string StrSql = "delete from " + TableName + " where Id=" + SelectName.Trim() + "";    
            OleDbCommand comm = new OleDbCommand(StrSql, conn);
            comm.ExecuteNonQuery();
            conn.Close();
                MessageBox.Show("删除成功!");
            }
           catch (Exception ex)
           {
               conn.Close();
                MessageBox.Show("删除失败!" + ex.Message);
           }
}

 

sql的delete 不带星号

string StrSql = "delete   from " + TableName + " where Id=" + SelectName.Trim()+"";    

字符串最后+""是干什么的呢 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632