테이블에서 행을 가져 와서 다른 테이블에 삽입하려고합니다. 이를 위해이 간단한 코드를 작성했지만 문제가 무엇인지 파악할 수는 없습니다.명령문을 실행할 때 Executenonquery에 -1이 있습니다.
당신이 내 문을 실행 한 후 ExecuteNonQuery
을 사용하고 출력을 볼 메시지 박스를 사용하지만, 메시지 상자의 출력은 -1
for (int i = 1; i <= 10; i++)
{
SqlCommand cmd = new SqlCommand("Select exp_date from tbl_expences where exp_id='" + i + "'", con);
int j = cmd.ExecuteNonQuery();
MessageBox.Show(Convert.ToString(j));
if (j > 1)
{
string date = cmd.ExecuteScalar().ToString();
MessageBox.Show(date);
SqlCommand cmd1 = new SqlCommand("update other_expensive set exp_date='" + date + "' where exp_id='" + i + "'", con);
}
}
'.ExecuteNonQuery()'의 반환 값은 ** INSERT, UPDATE 또는 DELETE 연산에 의해 영향을받는 ** 행 수입니다. 'SELECT'는 어떤 행에도 영향을 미치지 않기 때문에 값은 정의되지 않고 -1로 반환됩니다. 모든 사람이 볼 수 있도록 설계된 것입니다. [MSDN에서 문서화되어 있습니다.] (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx) 이 같은 것을 먼저 알고 싶다면 MSDN을 확인하십시오! –