2017-12-17 4 views
-3

"addstock"양식과 "viewstocks"양식이 두 가지 형태로 있습니다.스칼라 변수 "@Stockno"를 선언해야합니다

stock_no과 세부 정보를 addstock 양식에 추가하고 다시보기 양식에있는 "새로 고침 버튼"을 누릅니다. 새로운 레코드가 viewstock 형식으로 나타납니다.

viewstock 양식에도 삭제 버튼이 있습니다. 내가 행을 선택하고 Delete 키를 누르 때

, 나는 내가 그것을 호출 할 필요가

"@Stockno"스칼라 변수를 선언해야이 오류

를 얻을. 당신이 뭔가를 삭제할 때

private void bunifuFlatButton3_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     conn.Close(); 
     conn.Open(); 

     String DeleteQuery = "delete from Stocks_Item where Stock_code = (@Stockno)"; 

     SqlDataAdapter execute = new SqlDataAdapter(DeleteQuery, conn); 
     execute.SelectCommand.ExecuteNonQuery(); 

     MessageBox.Show("You've deleted successfully!", "Successful Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 

     conn.Close(); 
     cmd.ExecuteNonQuery(); 

     SqlDataAdapter data = new SqlDataAdapter("Select * from Stocks_Item", conn); 
     DataTable dt = new DataTable(); 
     data.Fill(dt); 

     dataGridView1.DataSource = dt; 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
} 
+5

을 당신은 실제 값을 추가하지 않은 당신 비교에서 비교 대상을 원합니다. 나는 당신이 완전히 이해하지 못하는 코드를 작성했다는 인상을 받았다. – Sefe

답변

1

당신은 하지SqlDataAdapter를 사용해야합니다, 도와주세요 - A-독립 SqlCommand 사용 -이 같은 :

private void bunifuFlatButton3_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     conn.Close(); 

     string DeleteQuery = "delete from Stocks_Item where Stock_code = @Stockno"; 

     SqlCommand cmdDelete = new SqlCommand(DeleteQuery, conn); 
     -- add the parameter! 
     cmdDelete.Parameters.Add("@stockno", SqlDbType.Int).Value = (provide the value for `@stockno` here!); 

     // open connection, execute command, close connection 
     conn.Open(); 
     cmdDelete.ExecuteNonQuery(); 
     conn.Close(); 

     MessageBox.Show("You've deleted successfully!", "Successful Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 
     ..... 
    } 
} 
관련 문제