0
데이터베이스에서 동영상을 선택하려고하는데 값이 0
(비트 문)인지 확인하려고합니다. 사용자는 MovieID
의 정수 값을 입력하고 사용자가 IsRented=1
을 사용하여 MovieId
을 입력하면 오류가 발생합니다.C#의 SQL 문에서 두 개의 개별 매개 변수를 검색하는 방법?
private void AddToCartButon_Click(object sender, EventArgs e)
{
int movieid;
bool result = Int32.TryParse(MovieIDTextBox.Text, out movieid);
if (result)
{
SQLiteCommand cmd = new SQLiteCommand("select * from Movies where IsRented=0", conn);
conn.Open();
SQLiteDataReader rdr = cmd.ExecuteReader();
if (rdr.Read() == true)
{
using (SQLiteCommand search = new SQLiteCommand("select * from Movies where MovieID LIKE @id", conn))
{
search.Parameters.AddWithValue("@id", movieid);
var DataTable = new DataTable();
var dataAdapter = new SQLiteDataAdapter(search);
dataAdapter.Fill(DataTable);
dataGridView1.DataSource = DataTable;
}
using (SQLiteCommand update = new SQLiteCommand("update Movies set [email protected] where MovieID like @id", conn))
{
update.Parameters.AddWithValue("@id", movieid);
}
}
}
}
현재 코드가 임대 아니에요 모든 영화의 목록을 가져 오기 위해 시도를하고, 적어도 하나 개의 행이 있는지 ('. Read() = true')는 제공된 ID와 일치하는 동영상을 가져 오려고합니다. 그런데 왜 첫 번째 쿼리를 수행하고 있습니까? 두 번째 쿼리에서 반환 한 행에서 IsRented 필드를 검사하는 것으로 충분하지 않습니까? 아마도 "찾을 수없는 영화"와 "발견 된 영화가 있지만 현재 대여 중"을 구별하고 싶을 것입니다. –
plz 예/아니요 질문에 오류/예외 포함 –