간단한 데이터베이스 관련 응용 프로그램을 개발 중입니다. GUI는 데이터 그리드 뷰와 "저장"버튼으로 구성됩니다. DataGridview는 데이터 세트를 소스로 사용합니다. SQL Server Compact Edition 데이터베이스 파일에서 데이터를 가져 와서 데이터 집합을 채 웁니다.DataGridview의 내용을 데이터베이스에 저장하는 데 문제가 있습니다.
문제는 내가 datagridview를 사용하여 데이터베이스의 내용을 변경 한 다음 변경을 진행할 때입니다.
SqlCeDataAdapter da = new SqlCeDataAdapter();
da.UpdateCommand = Con.CreateCommand(); // Con is SqlCeCommand object
da.UpdateCommand.CommandText = "update TempTable set " +
"S.No = @S.No , Name = @Name";
this.AddParams(da.UpdateCommand, "S.No", "Name");
da.Update(ds); // ds is the dataset used as source by the datagridview
및 AddParams 방법
...private void AddParams(SqlCeCommand cmd, params string[] cols)
{
foreach (string col in cols)
{
cmd.Parameters.Add("@" + col, SqlDbType.Char, 0, col);
}
}
문제는 내가 생각
cmd.Parameters.Add("@" + col, SqlDbType.Char, 0, col);
이 때문이다 다음 줄에 "문자"로 설명이있는 ArguementException을 얻고있다 매개 변수 중 하나가 varchar이고 다른 하나는 정수인 사실입니다. 그래서 어떻게 끝내야합니까?
p.s. 나는 초보자 닷넷 & 프로그래밍.
더 많은 정보를 원하시면 reffer 가치
,
크기를 제공하거나 단지 @paraname? 파서가 그것과 함께 올라가고 cmd.Parameters.Add의'@'는 선택 사항입니다. 크기 (0)를 정의하지 않으면 –