//cmd.CommandText = @"select MaKH from KHACHHANG where HoTenKH='a'";
cmd.CommandText = @"select MaKH from KHACHHANG where HoTenKH=$tenKH";
cmd.Parameters.Add(new SQLiteParameter("$tenKH", tenKH));
评论行有效,cmd是DbCommand,我试过
cmd.CommandText = @"select MaKH from KHACHHANG where HoTenKH='$tenKH'";
但它也不起作用。
答案 0 :(得分:2)
这看起来很愚蠢,但你确定要这样做:
string tenKH = "a";
在此之前:
cmd.CommandText = @"select MaKH from KHACHHANG where HoTenKH = @tenKH";
cmd.Parameters.Add(new SQLiteParameter("@tenKH", tenKH));
答案 1 :(得分:1)
使用@符号代替$来为参数名称添加前缀
答案 2 :(得分:1)
SQLite使用冒号来指定命名参数,而不是美元符号。尝试
cmd.CommandText = @"select MaKH from KHACHHANG where HoTenKH=:tenKH";
cmd.Parameters.Add(new SQLiteParameter("tenKH", tenKH));
如果希望代码看起来更像SQL Server代码,也可以使用@符号:
cmd.CommandText = @"select MaKH from KHACHHANG where HoTenKH=@tenKH";
cmd.Parameters.Add(new SQLiteParameter("tenKH", tenKH));