trong chương trình của tôi không, tôi cần kiểm tra xem bản ghi trong cơ sở dữ liệu đã tồn tại trong bảng chưa bằng cách sử dụng câu lệnh if
. sử dụng C# i đang cố gắng thực hiện điều này thông qua kết nối sql. như tôi cho rằng lệnh ExecuteNonQuery();
trả về giá trị số nguyên, nếu giả sử của tôi là đúng, tôi muốn biết giá trị nào là đúng để biết rằng một bản ghi nhất định tồn tại trong bảng hay không. đây là một mẫu mã của tôi:Kiểm tra xem bản ghi trong bảng có tồn tại trong cơ sở dữ liệu thông qua ExecuteNonQuery
using (SqlConnection sqlConnection = dbUtil.GetSqlConnection(dbUtil.GetConnectionStringByName("NonConnectionString")))
{
using (SqlCommand sqlCommand = new SqlCommand("SELECT * from users where user_name like 'Adam' AND password like '123456'", sqlConnection))
{
sqlresult = sqlCommand.ExecuteNonQuery();
}
}
xem xét sqlresult đã được khởi tạo trước đó trong chính như int sqlresult;
vì vậy tôi muốn biết, rằng nếu thành viên này 'Adam' tồn tại trong cơ sở dữ liệu hay không. và nếu anh ta tồn tại, thì tôi muốn tiếp tục với tuyên bố 'nếu' nói ví dụ:
if(sqlresult == 0)
{
MessageBox.Show("Adam exists!");
}
vì vậy tôi không biết số nguyên cần trả lại và tôi không chắc chắn rằng đây là cách thích hợp để làm điều đó.
cảm ơn bạn.
Nó đáng chú ý là sqlCommand.ExecuteScalar() trả về một đối tượng không phải là một int: http://msdn.microsoft.com/en-us/library/system.data. sqlclient.sqlcommand.executescalar (v = vs.110) .aspx – TonE
cảm ơn ví dụ tuyệt vời này, tôi có một câu hỏi, từ mã khối 'sử dụng' của bạn, là đối tượng cast thành int bị thiếu trong biến userCount? hoặc nó không cần thiết? – WhySoSerious
@WhySoSerious: cảm ơn vì đã chú ý, tôi đã thêm nó vì nó bị thiếu. Vì @TonE đã đề cập nó là bắt buộc vì 'ExecuteScalar' trả về' đối tượng'. –