0
비교적 간단한 IdbCommand를 사용하여 삽입 쿼리를 실행하려고합니다.매개 변수를 사용하여 데이터베이스에 대한 IdbCommand 전달
여기에 코드입니다 :
using (IDbConnection conn = DbHelper.GetConnection(DbConnString))
using (IDbCommand com = conn.CreateCommand())
{
com.CommandType = CommandType.Text;
com.CommandText =
String.Format(
"INSERT INTO {0} (`Date`, User, Type, `Comment`) VALUES (@Date, @User, @Type, @Comment);",
TableName);
conn.Open();
var parameterDate = com.CreateParameter();
parameterDate.ParameterName = "@Date";
parameterDate.Value = entry.Date;
parameterDate.DbType = DbType.DateTime;
com.Parameters.Add(parameterDate);
var parameterUser = com.CreateParameter();
parameterUser.ParameterName = "@User";
parameterUser.Value = entry.User;
parameterUser.DbType = DbType.String;
com.Parameters.Add(parameterUser);
var parameterLogType = com.CreateParameter();
parameterLogType.ParameterName = "@Type";
parameterLogType.Value = entry.Type;
parameterLogType.DbType = DbType.Int32;
com.Parameters.Add(parameterLogType);
var parameterComment = com.CreateParameter();
parameterComment.ParameterName = "@Comment";
parameterComment.Value = entry.Comment;
parameterComment.DbType = DbType.String;
com.Parameters.Add(parameterComment);
com.ExecuteNonQuery();
하지만 메시지 "열 '날짜'null 일 수 없습니다"와 MySqlException 점점 계속.
내 모든 선택 작품 괜찮아요, 그냥 문제 가이 삽입하고 그걸로 명백한 문제를 볼 수 없습니다.
매개 변수는 런타임 중에 유효한 DateTime으로 채워집니다. Date가 예약어이고 backquotes가 필요하다는 사실과 관련이 있다고 생각했지만 온라인 자습서에서 권장하는 내용입니다.
아이디어가 있으십니까?