저는 C# Windows 응용 프로그램을 가지고 있으며 사용자가 입력 한 데이터를 액세스 데이터베이스에 삽입하려고합니다. 그러나 오류가 발생하지는 않지만 데이터를 입력하지는 않습니다. 어떤 생각?레코드가 데이터베이스에 삽입되지 않습니다.
string sqlInsert = "insert into assessment (id) values (@id)";
using (OleDbConnection conn = new OleDbConnection(dsn))
{
OleDbCommand cmd = new OleDbCommand(sqlInsert, conn);
cmd.Parameters.Add("@id", OleDbType.VarChar, 50).Value = iDTextBox.Text.Trim().Length != null ? storedID.Trim() : "";
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
id의 데이터 유형은 Text
입니다.
편집 : 연결 문자열로의 app.config에 저장됩니다
<add name="conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\CADSCUPP.mdb" providerName="System.Data.OleDb"/>
에 의해 코드에 액세스 : 내가 코드 뒤에 코드를 수동으로 (하지 레코드를 삽입하는 경우
private string dsn = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
) 프로그램의 다른 곳에서 레코드를 읽을 수 있으므로 연결이 이루어집니다.
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabasename.mdb;"
OleDbType.VarChar? 신분증 번호가 아닌가요? – Fionnuala
아니오, 숫자가 아닙니다. – peroija
기록이 쓰여지고 있지 않음을 어떻게 압니까? ASP.NET에서 데이터베이스를 쿼리하거나 Access의 테이블을보고 확인하고 있습니까? ASP.NET과 VS가 개발 컴퓨터의 다른 곳에 데이터베이스 복사본을 만들지 않았는지 확인할 수 있습니다. ASP.NET에서 이런 일이 발생하는지 모릅니다. 그러나 Win7에서 Access dbs를 사용하는 WinForms 앱에서이 문제가 발생하는 것을 보았습니다. –