public List<TextBox> _textBoxes = new List<TextBox>();
protected void btmSubmit_Click1(object sender, EventArgs e)
{
dbDataItem();
}
public void dbDataItem()
{
dc.cnn.Open();
_textBoxes = getTextBox();
//foreach (TextBox text in _textBoxes)
//{
// _textBoxes.Add(text.Text.Trim());
// //StoreValue(text.Text);
//}
foreach (TextBox textBox in _textBoxes)
{
//TextBox txt = new TextBox();
//txt.ID = Panel2.FindControl("textBox").ToString();
string value = textBox.Text;
string query = "select name from DataItem where name = '" + value + "'";
SqlCommand cmd = new SqlCommand(query, dc.cnn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
int count = dt.Rows.Count;
if (count == 0)
{
int i = MaxCode1();
SqlCommand cmd2 = new SqlCommand("insert into DataItem (code,name) values (@code,@name)", dc.cnn);
cmd2.Parameters.AddWithValue("@code", i);
cmd2.Parameters.AddWithValue("@name", value);
SqlDataAdapter da2 = new SqlDataAdapter(cmd2);
DataTable dt2 = new DataTable();
da2.Fill(dt2);
dc.cnn.Close();
}
else
{
Response.Write("<script language='javascript'>alert('This DataItem already exist in database');</script>");
}
}
dc.cnn.Close();
}
-3
A
답변
1
SqlDataAdapter.Fill
을 호출하여 INSERT 명령을 실행하는 것은 올바르지 않습니다. Fill 메서드는 SELECT 문을 사용하여 데이터베이스에서 레코드를 검색하는 데 사용됩니다. 코드에서 INSERT 문은 어댑터의 SelectCommand로 전달되며 Fill을 호출 할 때 실행되어 데이터베이스 테이블에 레코드가 추가됩니다. 그러나 Fill 메서드에서 사용하는 SelectCommand에는 SELECT 문이 할당되어 있지 않으므로 DataTable 코드 개체에는 반환 값이 없습니다.
는 그런 다음, INSERT 문에있는 두 개의 작업을 먼저 ExecuteNonQuery는 분할 올바른 SELECT 문
SqlCommand cmd2 = new SqlCommand("insert into DataItem (code,name) values (@code,@name)", dc.cnn);
cmd2.Parameters.AddWithValue("@code", i);
cmd2.Parameters.AddWithValue("@name", value);
cmd2.ExecuteNonQuery()
SqlDataAdapter da2 = new SqlDataAdapter("SELECT * FROM DataItem");
DataTable dt2 = new DataTable();
da2.Fill(dt2);
1
당신은 CMD2를 실행하지 마십시오과 어댑터를 작성해야합니다.
매개 변수를 설정 한 후, 다음과 같이 실행 :
cm2.ExecuteNonQuery();
그래서, 당신의 코드는 다음과 같습니다
SqlCommand cmd2 = new SqlCommand("insert into DataItem (code,name) values (@code,@name)", dc.cnn);
cmd2.Parameters.AddWithValue("@code", i);
cmd2.Parameters.AddWithValue("@name", value);
cmd2.ExecuteNonQuery();
dc.cnn.Close();
+0
thnQ 너무 많은 각하 .......... 나는 해결책을 ..... ..... 얻었다 – priti
관련 문제
- 1. 왜 데이터가 데이터베이스에 저장되지 않습니까?
- 2. 왜 구조에 데이터가 저장되지 않습니까?
- 3. 왜 내 데이터가 핵심 데이터에 저장되지 않습니까?
- 4. 데이터가 데이터베이스에 저장되지 않음
- 5. 입력 데이터가 데이터베이스에 저장되지 않았습니다 - 이유가 무엇입니까?
- 6. 입력 한 데이터가 올바르게 저장되지 않았습니다.
- 7. 왜 내 배열에 입력 값이 저장되지 않습니까?
- 8. 사용자 데이터가 데이터베이스에 저장되지 않습니다
- 9. Formlayout의 데이터가 데이터베이스에 저장되지 않습니다.
- 10. 양식 데이터가 데이터베이스에 저장되지 않습니다.
- 11. 안드로이드 데이터가 데이터베이스에 저장되지 않습니다
- 12. 데이터가 데이터베이스에 저장되지 않습니다. django
- 13. 데이터가 cakephp의 데이터베이스에 저장되지 않습니다.
- 14. 데이터가 로컬 저장소에 저장되지 않습니까?
- 15. 동적으로 생성 된 모든 입력 필드의 데이터가 데이터베이스에 저장되지 않습니다.
- 16. 양식 데이터가 yii2.0 고급 템플릿에 저장되지 않습니까?
- 17. 몽구스 .save()가 데이터베이스에 저장되지 않습니까?
- 18. UITableView 셀에 데이터가 제대로 저장되지 않습니까?
- 19. redis 작업에 "메타"데이터가 저장되지 않습니까?
- 20. EF 관련 데이터가 데이터베이스에 저장되지 않음
- 21. 유니 코드 데이터가 MySQL 데이터베이스에 저장되지 않았습니다.
- 22. 세션 데이터가 Yii에서 데이터베이스에 저장되지 않음
- 23. Angularjs 형식의 데이터가 데이터베이스에 저장되지 않음
- 24. 데이터가 MS Access 데이터베이스에 저장되지 않았습니다.
- 25. 데이터가 데이터베이스에 저장되지 않는 이유는 무엇입니까?
- 26. 데이터가 내 데이터베이스에 저장되지 않는 이유는 무엇입니까?
- 27. 데이터가 데이터베이스에 저장되지 않고 예외가 발생하지 않음
- 28. PHP Jquery Ajax 데이터가 데이터베이스에 저장되지 않음
- 29. Ajax 폼 데이터가 데이터베이스에 저장되지 않았습니다.
- 30. 데이터가 클라이언트에서 수신되었지만 데이터베이스에 저장되지 않은 XSS
당신이 제목이 문제를 충분히 설명 할 수 있다고 생각합니까? –
'DataAdapter'와'DataTable'로 무엇을하고 있습니까? 왜 당신은'ExecuteNonQuery()''SqlCommand'를 사용하지 않을까요? – CodeCaster
예외 또는 오류 메시지가 있습니까? –