1

我正在成功地插入表格,但由于某种原因,这些字段处于混乱的位置。使用 MS Access 数据库 2010 使用 Visual Studio 2012 C#。

(没有足够的代表直接发布图片,所以请耐心等待链接)这是表格结构的样子(抱歉,不能发布超过 2 个链接)

(列=字段类型):

  • Codigo = 文本
  • 数据说(又名@data)=日期/小时
  • Entidade = 文本
  • 数据 Ent = 数据/小时
  • GT Ent = 文本
  • Estado = 文本
  • GT saida = 文本
  • 观察=文本
  • 要求=数量
  • 证书=文本
  • 结果=文本
  • 选择=是/否
  • 提示 int = 文本

这是正确行的表中的一个很好的例子,如行Good Row

这是我使用 INSERT Messed up Row得到的行

这就是我制作 INSERT 的方式

                OleDbCommand cmd = l.CreateCommand();

                cmd.Parameters.Add(new OleDbParameter("@codigo", cal.CodEtiq.ToString()));
                cmd.Parameters.Add(new OleDbParameter("@data", cal.Data));
                cmd.Parameters.Add(new OleDbParameter("@entidade", cal.EntidadeCal));
                cmd.Parameters.Add(new OleDbParameter("@observacao", cal.Observacao));
                cmd.Parameters.Add(new OleDbParameter("@certificado", cal.Certificado));
                cmd.Parameters.Add(new OleDbParameter("@resultado", cal.Resultado));
                cmd.Parameters.Add(new OleDbParameter("@selecionar", cal.Selecionar));

                cmd.CommandText = "INSERT INTO [Movimento Ferramentas] VALUES (@codigo, @data , @entidade, null, null,  'Calibração', null, @observacao, null, @certificado, @resultado,   @selecionar , null)";   

                result = cmd.ExecuteNonQuery();

我在这里做错了什么?

4

1 回答 1

2

由于您没有在INSERT语句中指定列,它是根据表中的列顺序插入值。不确定您的实际列顺序是什么,但是您可以通过在INSERT语句中指定列来解决您的问题。

cmd.CommandText = "INSERT INTO [Movimento Ferramentas] "+
                  "(Codigo , [Data saida], ...............) " + // columns
                  "VALUES (@codigo, @data , @entidade, null, null,  'Calibração', null, @observacao, null, @certificado, @resultado,   @selecionar , null)";
于 2013-10-29T14:30:26.753 回答