实例2 使用DataTable插入数据

使用C#以DataTable的方式插入数据如下所示,由于松果时序数据库有数据写入窗口的限制,实际使用时请修改相应的参数,并确保插入的设备已经创建。详细信息请参见用户手册。

每次插入的数据量不能超过1000条。

  1. void InsertForDataTable()
  2. {
  3. string connStr = "server=127.0.0.1;port=8105;username=sa;password=pinusdb";
  4. DataTable dt = new DataTable("tab01");
  5. dt.Columns.Add(new DataColumn("devid", typeof(long)));
  6. dt.Columns.Add(new DataColumn("tstamp", typeof(DateTime)));
  7. dt.Columns.Add(new DataColumn("val01", typeof(long)));
  8. dt.Columns.Add(new DataColumn("val02", typeof(float)));
  9. DataRow row1 = dt.NewRow();
  10. row1["devid"] = 101;
  11. row1["tstamp"] = DateTime.Now;
  12. row1["val01"] = 32;
  13. row1["val02"] = 27.33;
  14. DataRow row2 = dt.NewRow();
  15. row2["devid"] = 102;
  16. row2["tstamp"] = DateTime.Now;
  17. row2["val01"] = 12785;
  18. row2["val02"] = 758.23375;
  19. dt.Rows.Add(row1);
  20. dt.Rows.Add(row2);
  21. try
  22. {
  23. //实例化连接对象
  24. PDBConnection con = new PDBConnection(connStr);
  25. con.Open();
  26. PDBCommand cmd = con.CreateCommand();
  27. PDBErrorCode retCode = cmd.ExecuteInsert(dt);
  28. if (retCode != PDBErrorCode.PdbE_OK)
  29. {
  30. Console.WriteLine("成功条数:" + cmd.SuccessCount + " 错误信息:" + PDBErrorMsg.GetErrorMsg(retCode));
  31. }
  32. else
  33. Console.WriteLine("插入成功!");
  34. con.Close();
  35. }
  36. catch (PDBException ex)
  37. {
  38. Console.WriteLine(ex.Message);
  39. }
  40. }