用户点击一个按钮之后,读取ACCESS数据库,我用的是openfiledialog组件访问!读出来以后用system.IO.streamReader存放,现在我要将数据放入datagrid以便用户浏览和打印!应该怎么作啊?
这是我的部分代码!
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null) 
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
// 
// button1
// 
this.button1.Location = new System.Drawing.Point(48, 304);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(72, 32);
this.button1.TabIndex = 0;
this.button1.Text = "导入数据";
this.button1.Click += new System.EventHandler(this.button1_Click);
// 
// Form1
// 
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(584, 381);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main() 
{
Application.Run(new Form1());
} private void button1_Click(object sender, System.EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Access Files|*.mdb";
openFileDialog1.Title = "请选择一个Access表";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
System.IO.StreamReader sr = new 
System.IO.StreamReader(openFileDialog1.FileName);
MessageBox.Show("导入成功!"+ sr.ReadToEnd());

sr.Close(); }
}
}
}

解决方案 »

  1.   

    you need to use ado.net, seehttp://www.csharphelp.com/archives3/archive586.html
      

  2.   

    为何要读到streamReader里,用数据连接便不是问题了。
      

  3.   

    用ADO.NET啊
    Like This
    private void Form1_Load(object sender, System.EventArgs e) 

     string str; 
     string ole = "select * from emailuser where emailuser='" + Trim(str) + "'"; 
     object connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\LDN_Data.mdb"; 
     OleDbConnection conn = new OleDbConnection(connectionString); 
     conn.Open(); 
     string strSQL = "Select * From UserInfo"; 
     OleDbDataAdapter da = new OleDbDataAdapter(strSQL, conn); 
     DataSet ds = new DataSet(); 
     da.Fill(ds, "UserInfo"); 
     DataGrid1.SetDataBinding(ds, "UserInfo"); 
    }
      

  4.   

    用户的表不是固定位置的!用FileDialog.FileName 属性可以取得对话框中选定的文件名的字符串,然后采用ADO.net,将数据库的记录放入Dataset中,绑定到Datagrid显示出来!
      

  5.   

    晕了,既然用户可以选择路径,为什么不根据选择的路径建立 ADO.NET 的数据库连接啊?晕~~~~