可以参考Ms的PetShop例子,或者是Duwamish 7.0
PetShop到网上找一下多的很,而duwamish7.0是.net自带的例子,在帮助里可以找到它的详细说明,见:帮助->visual studio .net ->示例和演练->visual studio示例->企业版示例->Duwamish 7.0,即可找到。
其具体的安装文件在,visual studio的安装目录的
D:\Program Files\Microsoft Visual Studio .NET\Enterprise Samples\Duwamish 7.0 CS。我的visual studio装在d盤

解决方案 »

  1.   

    .net文档中的数据演练,各种 基本的数据操作。
      

  2.   

    是啊,查找一下关键字,sqldataadapter,sqlcommand,sqlconnection,dataset
    你就能找到很详细的例子了,我一直都是这么用.net帮助文档的,学得很快
      

  3.   

    给你一个,慢慢看
    ///////////
    using System;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.OleDb;namespace DataGridStuff
    {
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.DataGrid dataGrid1;
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.Container components = null; public Form1()
    {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent();
    } /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
    this.dataGrid1 = new System.Windows.Forms.DataGrid();
    ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
    this.SuspendLayout();
    // 
    // dataGrid1
    // 
    this.dataGrid1.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
    | System.Windows.Forms.AnchorStyles.Left) 
    | System.Windows.Forms.AnchorStyles.Right);
    this.dataGrid1.DataMember = "";
    this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
    this.dataGrid1.Location = new System.Drawing.Point(24, 24);
    this.dataGrid1.Name = "dataGrid1";
    this.dataGrid1.Size = new System.Drawing.Size(448, 280);
    this.dataGrid1.TabIndex = 0;
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(504, 341);
    this.Controls.AddRange(new System.Windows.Forms.Control[] {
      this.dataGrid1});
    this.Name = "Form1";
    this.Text = "Form1";
    this.Load += new System.EventHandler(this.Form1_Load);
    ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
    this.ResumeLayout(false); }
    #endregion /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void Form1_Load(object sender, System.EventArgs e)
    {
    // Set the connection and sql strings
    // assumes your mdb file is in your root
    string connString = @"Provider=Microsoft.JET.OLEDB.4.0;data source=D:\\MyProject\\MarkSix\\bin\\Debug\\MarkSix.mdb";
    string sqlString = "SELECT * FROM Customer"; OleDbDataAdapter dataAdapter = null;
    DataSet _dataSet = null; try
    {
    // Connection object
    OleDbConnection connection = new OleDbConnection(connString); // Create data adapter object
    dataAdapter = new OleDbDataAdapter(sqlString, connection);

    // Create a dataset object and fill with data using data adapter's Fill method
    _dataSet = new DataSet();
    dataAdapter.Fill(_dataSet, "customers");
    connection.Close();
    }
    catch(Exception ex)
    {
    MessageBox.Show("Problem with DB access-\n\n   connection: "
    + connString + "\r\n\r\n            query: " + sqlString
    + "\r\n\r\n\r\n" + ex.ToString());
    this.Close();
    return;
    } // Create a table style that will hold the new column style 
    // that we set and also tie it to our customer's table from our DB
    DataGridTableStyle tableStyle = new DataGridTableStyle();
    tableStyle.MappingName = "customers"; // since the dataset has things like field name and number of columns,
    // we will use those to create new columnstyles for the columns in our DB table
    int numCols = _dataSet.Tables["customers"].Columns.Count;
    DataGridColoredTextBoxColumn aColumnTextColumn ;
    for(int i = 0; i < numCols; ++i)
    {
    aColumnTextColumn = new DataGridColoredTextBoxColumn(1000);
    aColumnTextColumn.HeaderText = _dataSet.Tables["customers"].Columns[i].ColumnName; aColumnTextColumn.MappingName = _dataSet.Tables["customers"].Columns[i].ColumnName;
    tableStyle.GridColumnStyles.Add(aColumnTextColumn);
    }

    // make the dataGrid use our new tablestyle and bind it to our table
    dataGrid1.TableStyles.Clear();
    dataGrid1.TableStyles.Add(tableStyle);
    dataGrid1.DataSource = _dataSet.Tables["customers"]; }
    } public class DataGridColoredTextBoxColumn : DataGridTextBoxColumn
    {
    private int _value ;
    public DataGridColoredTextBoxColumn(int rowvalue) : base()
    {
    _value = rowvalue;
    }
    protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight)
    {
    // the idea is to conditionally set the foreBrush and/or backbrush
    // depending upon some crireria on the cell value
    // Here, we color anything that begins with a letter higher than 'F'
    try
    {
    object o = this.GetColumnValueAtRow(source, rowNum);
    if( o!= null)
    {
    int c = Int32.Parse(o.ToString());
    //char c = ((string)o)[0];
    if( c > 1000)
    {
    // could be as simple as
    // backBrush = new SolidBrush(Color.Pink);
    // or something fnacier...
    backBrush = new LinearGradientBrush(bounds, 
    Color.FromArgb(255, 200, 200), 
    Color.FromArgb(128, 20, 20),
    LinearGradientMode.BackwardDiagonal);
    foreBrush = new SolidBrush(Color.White);
    }
    }
    }
    catch(Exception ex){ /* empty catch */ }
    finally
    {
    // make sure the base class gets called to do the drawing with
    // the possibly changed brushes
    base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
    }
    }
    }
    }
      

  4.   

    http://www.hntbtc.com/rsgl/rsgl.aspxsource code
    http://www.hntbtc.com/rsgl/rsgl.rar