Tag: oledbparameter

OleDbParameter的名字痴迷

由于OleDbParameter不使用命名参数(由于其性质),为什么.NET OleDbParameter类需要一个名称? (string parametername …) 所有构造函数都需要一个参数名称,我永远不确定要给它的名称; 我的名字好吗? 还是我的祖母的名字?

C#访问OleDb标准表达式中的数据类型不匹配

请您检查以下代码是否存在错误,这些错误会导致“标准表达式中的数据类型不匹配”exception? 我似乎无法找到问题的根源…… * record.Date为空的DateTime? type显式转换为DateTime * record.Date设置为可为空,用于程序中的其他用途。 但是从DateTimePicker检索为INSERT操作设置的record.Date ,因此此方法的record.Date值永远不应为null 。 哪里 和(如果你想知道) 从我的Access文件(设计视图): 谢谢! 这是AddRecord方法。 谢谢! public static int AddRecord(Record record) { OleDbConnection connection = LABMeetingRecordsDB.GetConnection(); string insertStatement = “INSERT INTO DocumentInfo ” + “([FileName], [Date], [Subject], [Type]) ” + “VALUES (?, ?, ?, ?)”; try { OleDbCommand insertCommand = new OleDbCommand(insertStatement, connection); insertCommand.Parameters.AddWithValue(“@FileName”, record.FileName); […]

带有Access DateTime查询的C#OleDbParameter

我有以下查询,从Access内部或从C#作为OleDbCommand: SELECT Table1.ProductType, Sum(Table1.ProductsSold) FROM Table1 WHERE (Table1.DateTime Between #5/16/2013# And #5/17/2013#) GROUP BY Table1.ProductType; Table1.DateTime是日期/时间数据类型。 现在我想将日期作为OleDbParameters传递。 SELECT Table1.ProductType, Sum(Table1.ProductsSold) FROM Table1 WHERE (Table1.DateTime Between #@StartDate# And #@StopDate#) GROUP BY Table1.ProductType; cmd.Parameters.Add(new OleDbParameter(“@StartDate”, OleDbType.Date)); cmd.Parameters[“@StartDate”].Value = dateTimePicker1.Value.ToShortDateString(); cmd.Parameters.Add(new OleDbParameter(“@StopDate”, OleDbType.Date)); cmd.Parameters[“@StopDate”].Value = dateTimePicker2.Value.ToShortDateString(); 我已经搜索并尝试了很多东西(VarChar和字符串,单引号而不是主题标签,命令或参数中的主题标签等),没有运气。 我希望日期从午夜开始(因此ToShortDateString()和Date类型。)

OleDbParameters和参数名称

我有一个SQL语句,我正在通过OleDb执行,语句是这样的: INSERT INTO mytable (name, dept) VALUES (@name, @dept); 我正在向OleDbCommand添加参数,如下所示: OleDbCommand Command = new OleDbCommand(); Command.Connection = Connection; OleDbParameter Parameter1 = new OleDbParameter(); Parameter1.OleDbType = OleDbType.VarChar; Parameter1.ParamterName = “@name”; Parameter1.Value = “Bob”; OleDbParameter Parameter2 = new OleDbParameter(); Parameter2.OleDbType = OleDbType.VarChar; Parameter2.ParamterName = “@dept”; Parameter2.Value = “ADept”; Command.Parameters.Add(Parameter1); Command.Parameters.Add(Parameter2); 我得到的问题是,如果我添加参数以反过来命令,那么列将填充错误的值(即名称在dept列中,反之亦然) Command.Parameters.Add(Parameter2); Command.Parameters.Add(Parameter1); 我的问题是,如果参数值只是按照添加命令的顺序插入到表中,参数名称的重点是什么? 参数名称似乎多余?