#region 查询数据  public void SelectData(SqlDataAdapter DataAdapter, string CommandText, string TableName)
{
   baseCommand.Connection = baseConnection;  
   baseCommand.CommandText = CommandText;
                   DataAdapter.SelectCommand = baseCommand;
   if (TableName != "")   DataAdapter.TableMappings.Add("Table", TableName);
   baseConnection.Close();
 } public void SelectData(SqlDataAdapter DataAdapter, string CommandText)
{
    SelectData(DataAdapter, CommandText, "");
} public void SelectData(DataSet DataSet, string CommandText, string TableName)
{
SelectData(baseDataAdapter, CommandText, TableName);
if (TableName == "")
{
  baseDataAdapter.Fill(DataSet); 
}
else 
        {
                   baseDataAdapter.Fill(DataSet, TableName);   
        }
} public void SelectData(DataSet DataSet, string CommandText)
{
    SelectData(DataSet, CommandText, "");
} public void SelectData(string xmlFileName, string CommandText, string TableName)
{
    DataSet dataSet = new DataSet(TableName);
    SelectData(dataSet, CommandText, TableName);
    dataSet.WriteXml(xmlFileName);
    dataSet.Dispose(); 
} public void SelectData(string xmlFileName, string CommandText)
{
    SelectData(xmlFileName, CommandText, "");
}
#endregion  #region 更新数据  public void UpdateData(string CommandText)
{
baseCommand.Connection = baseConnection;  
baseCommand.CommandText = CommandText;
try
{
 baseCommand.ExecuteNonQuery();  
}
catch(SqlException ae)
{
 MessageBox.Show(ae.Message.ToString());
}
}
           
public void UpdateData(DataSet MyDataSet, string MyTableName)
{
SqlDataAdapter TmpDataAdapter = new SqlDataAdapter("Select * From " + MyTableName, ConnectionString);      TmpDataAdapter.Update(MyDataSet, MyTableName);
} public void UpdateData(SqlDataAdapter MyDataAdapter, DataSet MyDataSet, string MyTableName)
{
MyDataAdapter.Update(MyDataSet, MyTableName);
}
    
#endregion #region 事务控制 
            //开始执行事务
public void TransactionBegin()
{
  baseTransaction = baseConnection.BeginTransaction();   
  baseCommand.Transaction = baseTransaction;     
}
//执行事物
public void TransactionExecute(string CommandText)
{
   //TransactionBegin();
   try
   {
 baseCommand.CommandText = CommandText;
 baseCommand.ExecuteNonQuery();
 //baseTransaction.Commit();
}
catch
{
baseTransaction.Rollback();
    //MessageBox.Show( "输入有错误,请重新输入!","信息",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
baseConnection.Close();
}   //baseCommand.CommandText = CommandText;
  //int testcount = baseCommand.ExecuteNonQuery();     
}        
//完成事务
public void TransactionCommit()
{
  baseTransaction.Commit(); 
}
            //取消事务
public void TransactionRollback()
{
  baseTransaction.Rollback(); 
}
#endregion

解决方案 »

  1.   

    INi文件控制函数如下:
    using System;
    using System.IO; 
    using System.Runtime.InteropServices;  
    using System.Text; 
    using Atu;namespace Atu
    {
    /// <summary>
    /// Ini 的摘要说明。
    /// </summary>
    public class Ini
    {
    // INI文件名 
    private string FileName; public Ini(string FileName)
    {
    this.FileName = FileName;
    }        // 声明写INI文件的API函数 
    [DllImport("kernel32")]  
    public  static extern long WritePrivateProfileString(string section,string key,string val,string filePath);   // 声明读INI文件的API函数
    [DllImport("kernel32")] 
      private  static extern int GetPrivateProfileString(string section,string key, string def, StringBuilder retVal,int size,string filePath);  

    // 写INI文件 
    public static void IniWriteValue(string FileName, string Section, string Key, string Value)  
    {  
      WritePrivateProfileString(Section, Key, Value, FileName); 
    }   public void IniWriteValue(string Section, string Key, string Value)  
    {  
      WritePrivateProfileString(Section, Key, Value, this.FileName); 
    }   // 读取INI文件           
    public static string IniReadValue(string FileName, string Section, string Key)  
    {  
               StringBuilder temp = new StringBuilder(255); 
       GetPrivateProfileString(Section, Key, "无法读取对应数值!", temp, 255, FileName);  
       return temp.ToString();  
    }   public string IniReadValue(string Section, string Key)  
    {  
       StringBuilder temp = new StringBuilder(255);  
       GetPrivateProfileString(Section,Key,"无法读取对应数值!",temp,255,this.FileName); 
       return temp.ToString();  
    }  
    }
    }
      

  2.   

    哪位觉得看不清楚,留下email我给你发过来!
      

  3.   

    更新数据库要加条语句SqlCommandBuilder builder = new SqlCommandBuilder(baseDataAdapter);你找找 SqlCommandBuilder 的用法
      

  4.   

    事务处理,你怎么都没有调用,被你注释掉了上面的baseDataAdapter 应该要改成 TmpDataAdapter 我看不太清楚,你自己再试试
      

  5.   

    这是写的类,要冲其他的地方调用,我可以把原码发给你!能留下的email吗?