private DataTable dt;
dt=new DataTable("GPSDATA");
ds.Tables.Add(dt);
client.ReceivedDatagram+=new NetEvent(client_ReceivedDatagram); //从服务器socket接口接收数据
private void client_ReceivedDatagram()
{
DataRow dr = dt.NewRow();
dr["long"] = 第一段数据;
dr["lati"] = 第二段数据;
dt.Rows.Add(dr);
}服务器的数据包是每秒钟一次,下面如何每十分钟一次更新oracle数据库?
请给出代码。先谢谢了。
dt=new DataTable("GPSDATA");
ds.Tables.Add(dt);
client.ReceivedDatagram+=new NetEvent(client_ReceivedDatagram); //从服务器socket接口接收数据
private void client_ReceivedDatagram()
{
DataRow dr = dt.NewRow();
dr["long"] = 第一段数据;
dr["lati"] = 第二段数据;
dt.Rows.Add(dr);
}服务器的数据包是每秒钟一次,下面如何每十分钟一次更新oracle数据库?
请给出代码。先谢谢了。
{
DataRow dr = dt.NewRow();
dr["long"] = 第一段数据;
dr["lati"] = 第二段数据;
dt.Rows.Add(dr);
if(dt.Rows.Count == 1)
{
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Interval = 600000; //10分钟,1000=1秒
timer.Start();
timer.Tick += new EventHandler(timer_Tick);
}
}private void timer_Tick(object sender, EventArgs e)
{
// 更新数据库
}
string strConn = "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd"; OleDbConnection conn = null;
OleDbDataAdapter adapter = null;
OleDbCommandBuilder commBuilder = null;// 更新哪个表,就写哪个表的完全查询语句
string strSql = "select * from table";
try
{
// 2. 创建数据库连接
conn = new OleDbConnection(strConn);
// 3. 创建DataAdapter和CommandBuilder
adapter = new OleDbDataAdapter(strSql, conn);
commBuilder = new OleDbCommandBuilder(adapter);
adapter.InsertCommand = commBuilder.GetInsertCommand();
adapter.DeleteCommand = commBuilder.GetDeleteCommand();
adapter.UpdateCommand = commBuilder.GetUpdateCommand();
// 4. 更新数据库
adapter.Update(dt);
// 更新完毕
dt.AcceptChanges();
}
catch(Exception ex)
{
// 异常处理
}
每秒钟接受一次数据,放入dataset中, 每10分钟将dataset中的数据插入到数据库中。数据库中保存有一年的数据(这个表大概有10G+的容量)。
所以不能把数据库中的数据调入dataset修改之后再返回。
我不是针对你给的这段代码说的,谢谢 你给了我不少启发,
但是更新数据库那段代码 报错:“对于不返回任何基表信息的SelectCommand不支持动态SQL生成”
对于ADO.net不太懂,这段代码是不是只用datatable没有dataset更新数据库阿???
我写的update语句都实现不了,
帮忙给一下代码吧
conn = new OleDbConnection(strConn);
// 3. 创建DataAdapter和CommandBuilder
adapter = new OleDbDataAdapter(strSql, conn);
commBuilder = new OleDbCommandBuilder(adapter);
adapter.InsertCommand = commBuilder.GetInsertCommand();
adapter.DeleteCommand = commBuilder.GetDeleteCommand();
adapter.UpdateCommand = commBuilder.GetUpdateCommand();
// 4. 更新数据库
adapter.Update(dt);
// 更新完毕
dt.AcceptChanges();
用fangxinggood(JustACoder)大哥的代码,还是报错:
“对于不返回任何基表信息的SelectCommand不支持动态SQL生成”数据库中表和DataTable的名称和列名称完全相同,也设置了主键,
为什么还会出错???