Startpoint와 EndPoint 사이에 ID를 가져오고 싶지만 쿼리를 필터링 할 수 없습니다. 내가 더 크고 작게 연산자를 쓰지 않으면 명령이 작동하지만 모든 테이블을 검색합니다.SQL 논리 연산자가 C# 명령에서 작동하지 않는 이유는 무엇입니까?
이 문제를 해결하는 방법을 알 수 없습니다. 여기 내 코드가있다. 도와 주실 수 있으신가요? 이유는 하나 개 이상의 항목을 반환 - 당신이 SSMS에서 쿼리에서 1 개 이상의 항목을받을 경우
public async Task<int> TaskSearchSqlTweetIDText(string TweetText, string Query, int StartPoint, int EndPoint)
{
SqlConnection conn = new SqlConnection(Tools.ConnectionString);
SqlCommand comm = new SqlCommand("select ID from Tweets where @VsTweetText=TweetText and ID<@VsEndPoint and ID>@VsStartPoint", conn);
comm.Parameters.AddWithValue("@VsTweetText", TweetText);
comm.Parameters.Add("@VsStartPoint", SqlDbType.Int);
comm.Parameters["@VsStartPoint"].Value = StartPoint;
comm.Parameters.Add("@VsEndPoint", SqlDbType.Int);
comm.Parameters["@VsEndPoint"].Value = EndPoint;
if (conn.State == ConnectionState.Closed) conn.Open();
object sonuc = await comm.ExecuteScalarAsync();
conn.Close();
if (sonuc != null)
{
return (int)sonuc;
}
else
{
return 0;
}
}
SSMS에서 동일한 쿼리를 시도하면 무엇을 얻을 수 있습니까? 얼마나 많은 항목이 있습니까? '트위트에서 ID를 선택하십시오 @ VsTweetText = 트윗 텍스트 및 ID <@VsEndPoint 및 ID> @ VsStartPoint' – Nayan
참고 : (또한 내 답변에 있음) : 귀하의 쿼리는 또한 'TweetText'를 필터링하므로 요구 사항 * 원하는 Startpoint와 EndPoint * 사이의 ID를 얻지 못합니다. 그것은 읽어야한다 * 나는 'TweetText'가 주어진 값 *과 일치하는 Startpoint와 EndPoint 사이에 ID를 얻고 싶다. –