多部分标识符"xxx"不能被束缚
本文关键字:quot 束缚 不能 xxx 多部 标识符 | 更新日期: 2023-09-27 18:14:44
sqlComm.Connection = sqlConn;
sqlComm.Parameters.AddWithValue("@Kullanici", Kullanici);
sqlComm.Parameters.AddWithValue("@Sifre", Sifre);
sqlComm.Parameters.AddWithValue("@Ad", Ad);
sqlComm.Parameters.AddWithValue("@Soyad", Soyad);
sqlComm.Parameters.AddWithValue("@Parametre", rndParametre);
sqlComm.CommandText = "INSERT INTO Kullanici (EPosta,Sifre,Ad, Soyad,Aktif,Parametre, __DZamani) " +
" VALUES (@Kullanici,@Sifre,@Ad,@Soyad, 0,@Parametre,getdate()); SELECT RecID FROM Kullanici WHERE EPosta= "+ Kullanici;
sqlConn.Open();
SqlDataReader sqlRead = sqlComm.ExecuteReader();
while (sqlRead.Read())
{
RecID = Convert.ToInt32(sqlRead["RecID"]);
}
sqlConn.Close();
我有错误:多部分标识符"some@email.com"无法被绑定如何解决这个错误?你知道吗?
问题就在这里:
SELECT RecID FROM Kullanici WHERE EPosta= "+ Kullanici;
你没有引用VARCHAR/NVARCHAR
字段,所以SQL认为这是一个表名,它找不到。
您应该使用与其他地方相同的参数-这里不清楚为什么,只有在这里您要连接SQL。这将打开SQL注入,所以您应该使用您已经拥有的参数:
SELECT RecID FROM Kullanici WHERE EPosta= @Kullanici";