2016-08-09 5 views
0

WPF 형식으로 데이터를 삽입 할 때 문제가 있습니다. 코드에 오류가 없지만 데이터베이스가 없으면 데이터가 없습니다. 다음은 코드입니다.SQL 명령이 성공적으로 실행되었지만 데이터가 WPF 형식으로 삽입되지 않았습니다.

+0

어떤 데이터베이스가 있습니까? 거기에 명시 적 거래가 있습니까? –

+0

성공했는지 어떻게 알 수 있습니까? int count = command.ExecuteNonQuery(); 삽입 된 행 수를 확인합니다. –

+0

@DheerajRoy 구문 오류가 없기 때문에 SQL Server에 쿼리를 붙여 넣으면 성공적으로 실행됩니다. –

답변

0

슬픔을주는 매개 변수 주변의 인용문이있을 수 있습니다. 아래의 코드를 사용해보고 더 잘 작동하는지 확인하십시오.

try { 
    Connection.Open(); 
    string query = "Insert into checkouts(cnic,medicine,next_trip) VALUES(@c,@m,@n)"; 
    SqlCommand command = new SqlCommand(query, Connection); 
    command.Parameters.AddWithValue("@c", cnic_box.Text.Replace("-","")); 
    command.Parameters.AddWithValue("@m", med_box.Text); 
    command.Parameters.AddWithValue("@n",Convert.ToDateTime(date_box.Text).ToString("yyyy-MM-dd")); 
    Connection.Close(); 
    return (command.ExecuteNonQuery() > 0); 
} 
catch (Exception ex) 
{ 
    Connection.Close(); 
    return false; 
} 

편집

명시 적으로 데이터가이와 쿼리를 교체하려고 저지

:

string query = "BEGIN TRANSACTION Insert into checkouts(cnic,medicine,next_trip) VALUES(@c,@m,@n) COMMIT TRANSACTION"; 
+0

아직도 작동하지 않습니다 ... –

+0

@BilalAmjad 코드에서 트랜잭션을 사용합니까? 데이터를 유지하기 위해 거래를 종료하고 새 거래를 열어야 할 수도 있습니까? –

+0

@BilalAmjad 다음을 위해 편집보기 ... –

0

쿼리에서 쿼리의 값 부분에서 작은 따옴표를 제거

bool insert() 
{ 
    try 
    { 
     Connection.Open(); 
     string query = "Insert into checkouts(cnic,medicine,next_trip) VALUES(@c, @m, @n)"; 
     SqlCommand command = new SqlCommand(query, Connection); 
     command.Parameters.AddWithValue("@c", cnic_box.Text.Replace("-","")); 
     command.Parameters.AddWithValue("@m", med_box.Text); 
     command.Parameters.AddWithValue("@n",Convert.ToDateTime(date_box.Text).ToString("yyyy-MM-dd")); 
     command.ExecuteNonQuery(); 
     Connection.Close(); 
     return true; 
    } 
    catch (Exception ex) 
    { 
     Connection.Close(); 
     return false; 
    } 
} 
관련 문제