데이터베이스 파일 (.sdf)에 추가해야하는 일부 데이터가 사용자에게 입력되었습니다. 이 응용 프로그램은 매우 작기 때문에 Sql Server CE를 선택했으며 서비스 기반 데이터베이스로 작업 할 필요가 없습니다.ExecuteNonQuery()가 SQL Server CE에서 작동하지 않습니다
글쎄요.
여기에 코드를 간다 :
public class SqlActions
{
string conStr = String.Format("Data Source = " + new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\basedados.sdf");
public SqlCeConnection SQLCEConnect()
{
SqlCeConnection Connection = new SqlCeConnection(conStr);
Connection.Open();
return Connection;
}
public Boolean AdicionarAuditorio(string Nome, int Capacidade)
{
string Query = "INSERT INTO auditorios (nome, capacidade) VALUES (@Nome, @Capacidade)";
using (var SQLCmd = new SqlCeCommand(Query, SQLCEConnect()))
{
SQLCmd.Parameters.AddWithValue("@Nome", Nome);
SQLCmd.Parameters.AddWithValue("@Capacidade", Capacidade);
if (SQLCmd.ExecuteNonQuery() == 1)
{
return true;
} else {
return false;
}
}
}
}
내가 데이터를 삽입 할
AdicionarAuditorio(string Nome, int Capacidade)
기능을 사용합니다.
ExecuteNonQuery()
을 실행하면 쿼리를 실행 한 후 영향을받은 행 수를 반환합니다. 그래야 성공한 쿼리라면
1
을 반환해야합니다. 맞습니까?
결국 그는 1을 반환하지만, 브라우저를 테이블 데이터로 사용하면 쿼리가 추가해야하는 데이터가 없습니다.
여기에 무슨 문제가 있습니까?
주. 문제가 연결 인 경우 : 일부 문제가 발생하면 왜 연결 함수
SQLCEConnect()
을 사용하는 선택 문과 그것들은 모두 잘 작동합니다.
미리 감사드립니다.
'SQLCmd.ExecuteNonQuery'결과를 임시 변수에 저장할 때 그 값은'1' - 정확합니까? –
예. Visual Studio Debugger에 따라 임시 var를 값 1로 설정합니다. –