1. 程式人生 > >使用程式匯出建表語句,及以Insert語句形式匯出資料

使用程式匯出建表語句,及以Insert語句形式匯出資料

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

前一段時間在弄,有時要把一些資料(資料類不大)導到其它型別的資料庫裡,發現無論是SqlServer、、MySql,在從庫中匯出標準的建表和插入資料(即Insert語句)語句時,多少有些不如人意,於是結合自己的要求,自己動手寫一個匯出的程式。

程式在ListBox(lboxAll)中列出指定的資料庫中所有的使用者表名,選中要匯出的表名將會被新增到另一ListBox(lboxSelected)中,程式將匯出lboxSelected中所有表的建表語句以及以Insert語句形式匯出的資料:

1)SqlServer:

獲得使用者表資訊

selectnametnamefromsysobjectswherextype='U'

獲取表的欄位資訊

selectsysobjects.nametable_name,syscolumns.namecolumn_name,systypes.name

data_type,syscolumns.isnullable,syscolumns.length,syscolumns.prec,syscolumns.scale

fromsysobjects

joinsyscolumns

onsysobjects.id=syscolumns.id

joinsystypes

onsyscolumns.xtype=systypes.xtype

wheresysobjects.name='tablename'

相關程式(省略部分程式碼):


privatevoidShowAllTable()
{
   ……
   this.cmd.CommandText="selectnametnamefromsysobjectswherextype='U'";
   try
   {
       this.conn.Open();
       SqlDataAdapterda=newSqlDataAdapter(cmd);
       DataSetds=newDataSet();
       da.Fill(ds,"alltable");
       this.Invoke((MethodInvoker)delegate
       {
           this.lboxAll.DataSource=ds.Tables["alltable"].DefaultView;
           this.lboxAll.DisplayMember="tname";
       });
   }
   catch(Exceptionx)
   {
       MessageBox.Show(x.Message,"錯誤",MessageBoxButtons.OK,MessageBoxIcon.Information);
   }
   finally
   {
       if(conn.State==ConnectionState.Open)
       {
           conn.Close();
       }
   }
}


privatevoidExpSQL()
{
   this.sw=newStreamWriter(this.path,true,Encoding.Default);
   try
   {
       this.conn.Open();
       for(inti=0;i<this.lboxSelected.Items.Count;i++)
       {
           this.cmd.CommandText="selectsysobjects.nametable_name,syscolumns.name
column_name,systypes.namedata_type,syscolumns.isnullable,
syscolumns.length,syscolumns.prec,syscolumns.scale";
           this.cmd.CommandText+=Environment.NewLine+"fromsysobjects";1

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>