SERVER数据转换ORACLE问题![1]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 xjaifly 的 blog

大家做系统更新或者升级都可能要触及到数据的转换。
对于oracle中的数据转换可以用写存储过程来放之游标,将你要的数据一条一条的转换。
而对于server虽然你可以将它转换到oracle中(升级的方式),但有问题你会发现有的表是不可以直接转换的!
所以我就用代码控制直接转换!也是一种比较容易控制容易写的方法!
首先你要在程序中建立连接(server的)

string strcon="workstation id=xj;packet size=4096;user id=sa;data source=\"automap\\automap\";persist security info=true;initial catalog=bgxtrmt;password=sa";
   string strtxt = "select tworder_code, stru_b, layer_b, area_ub, area_b, east, south, west, north, area_sb, densy_b, grean_b, park, park_bike, other_area,grean_b,sp_build_p from bgxtpab2_1";
   sqlconnection sqlcon = new sqlconnection(strcon);
   sqlcommand sqlcmd = new sqlcommand(strtxt,sqlcon);
   sqlcon.open();
然后将你要读的数据用datareader.reader方法读进来!

   sqldatareader sqldr = sqlcmd.executereader(commandbehavior.closeconnection);

   while(sqldr.read())
   {
    try
    {
     oraclecon.open();
     bgxtpab2_1 bg = new bgxtpab2_1();
     //doc d = new doc();
     //int i = -1;
     bg.tworder_code = sqldr.getstring(0).trim();
     bg.stru_b = sqldr.isdbnull(1)?"":sqldr.getstring(1).trim();
     bg.layer_b = sqldr.isdbnull(2)?0:sqldr.getint32(2);
     bg.area_ub = sqldr.isdbnull(3)?"":sqldr.getstring(3);
     bg.area_b = sqldr.isdbnull(4)?"":sqldr.getstring(4);
     bg.east_b = sqldr.isdbnull(5)?"":sqldr.getstring(5).trim();
     bg.south_b = sqldr.isdbnull(6)?"":sqldr.getstring(6).trim();
     bg.west_b = sqldr.isdbnull(7)?"":sqldr.getstring(7).trim();
     bg.north_b = sqldr.isdbnull(8)?"":sqldr.getstring(8).trim();

     //bg.layer_bd = sqldr.isdbnull(++i)?0.0f:sqldr.getint32(i);
     bg.area_sb = sqldr.isdbnull(9)?"":sqldr.getstring(9);
     bg.densy_b = sqldr.isdbnull(10)?"":sqldr.getstring(10);
     bg.park = sqldr.isdbnull(11)?0.0f:sqldr.getfloat(11);
     bg.park_bike = sqldr.isdbnull(12)?0.0f:sqldr.getfloat(12);
     bg.other_area = sqldr.isdbnull(13)?0.0f:sqldr.getfloat(13); 
     bg.grean_b = sqldr.isdbnull(14)?0.0f:sqldr.getfloat(14);  
     bg.sp_build_p = sqldr.isdbnull(15)?"":sqldr.getstring(15); 
这样你就获得了你要的数据,还要提到的是!你必须为你想读的表写个数据表的类!
using system;

namespace projectbulid
{
 /// <summary>
 /// bgxtpab2_1工程数据表
 /// </summary>
 public class bgxtpab2_1
 {
  string tworder_code;
  //string project_b;
  string densy_b;   
  string stru_b;   
  int layer_b;    
  string area_ub;   
 string area_b;    
  string usage_b;  
  string east;  
  string south;  
  string west;   
  string north;  
  string area_sb;   
  
  float grean_b;   
  float park;      
  float park_bike;   
  //  decimal other_area_b; 
  string sp_build_p;  
  float other_area;  

  public bgxtpab2_1()
  {
   tworder_code = "";
   //project_b= "";
   stru_b = "";
   layer_b = 0;
   area_ub = "";
   area_b = "";
   usage_b = "";
   east = "";
   south= "";
   west = "";
   north = "";
   //layer_db = 0;
   area_sb = "";
   densy_b = "";
   grean_b = 0.0f;
   park = 0.0f;
   park_bike = 0.0f;
   sp_build_p = "";
   other_area = 0.0f;

  }
  public string tworder_code
  {
   get
   {
    return tworder_code;
   }
   set
   {
    tworder_code  = value;
   }
  }

本文关键:SERVER数据转换ORACLE问题!
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top