是的有关键字就不能更新,
都有值的,
应该不是数据不匹配的问题,
我用同样的数据,如果把DateTime字段的关键字改为DateTime2就可以添加数据了..
都有值的,
应该不是数据不匹配的问题,
我用同样的数据,如果把DateTime字段的关键字改为DateTime2就可以添加数据了..
解决方案 »
- 【求助】关于DataBindings在Format后,ConvertEventHandler不能触发的问题
- 开学了,大家好啊,谁能告诉我怎么把c#的using system.net写入vb中啊,
- 大家来讨论一下 c# builder 做数据库开发怎样啊
- C# 调用api函数sleep要如何声明啊
- DateList排序问题
- 关于串口通讯的简单问题
- 为什么我用InstallShield打包之后除了Setup.exe还有一大堆文件?
- c#的正则问题,真是搞不明白了,到底要怎么弄?
- 关于货柜车装箱的问题?200分。非常感谢大家!
- WPF 带连接线 popup 不用popup也行重点是那个连接线
- 怎样实现断点续传和多线程分块下载文件?
- 指定datagridview的当前选定行
这个不行哦 :(((..字段名不能为[DateTime]的,不能用方括号..:(
OleDbConnection connection)
{
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
OleDbCommand command;
OleDbParameter parameter; // Create the SelectCommand.
command = new OleDbCommand("SELECT * FROM dbo.Customers " +
"WHERE Country = ? AND City = ?", connection); command.Parameters.Add("Country", OleDbType.VarChar, 15);
command.Parameters.Add("City", OleDbType.VarChar, 15); dataAdapter.SelectCommand = command; // Create the UpdateCommand.
command = new OleDbCommand(
"UPDATE dbo.Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?", connection); command.Parameters.Add(
"CustomerID", OleDbType.Char, 5, "CustomerID");
command.Parameters.Add(
"CompanyName", OleDbType.VarChar, 40, "CompanyName"); parameter = command.Parameters.Add(
"oldCustomerID", OleDbType.Char, 5, "CustomerID");
parameter.SourceVersion = DataRowVersion.Original; dataAdapter.UpdateCommand = command; return dataAdapter;
}
这个函数的功能是将有数据的数据表添加到数据库中,或许这样的效率会好点吧..如果是那样的话,还要取出表的每个字段名,但是有个问题,用微软的那个工具取出的字段名不是按照数据表的顺序,而是按字母排序的.这个比较烦,不能使数据和字段一一对应..bool LAT::DatabaseAccess::UpdateToDatabase(DataTable^ soureDataTable,String^ TableName)
{
String^ sqlStatement = "select * from [" + TableName + "]";
try
{
OleDbDataAdapter^ dataAdapter = gcnew OleDbDataAdapter(sqlStatement,_OleConn); OleDbCommandBuilder^ oleDbCmdBuilder = gcnew OleDbCommandBuilder(dataAdapter); DataSet^ dataSet = gcnew DataSet(); DataTable^ dt= soureDataTable->Copy(); dataSet->Tables->Add(dt); dataSet->Tables[0]->TableName = TableName; dataAdapter->Update(dataSet,TableName); dataSet->AcceptChanges();
}
catch(Exception^ ex)
{
LAT::CommonFunction::WriteLogEntry(TraceEventType::Error,"Cannot add one row data to temporary DataTable in memory ("+ex->Message+")"); return false;
} return true;}