11:01 2006-8-31
怎样在c#获取一个access数据库的全部数据表?
我想选择一个数据库,然后再combox中列出这个数据库的所有表的名称,请问怎么实现?
msdn上有这些代码,能否给解释一下:
using System;
using System.Data;
using System.Data.OleDb;
class Class1
{
static void Main()
{
string x = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI";
GetSchemaTable(x);
Console.ReadLine();
}
static DataTable GetSchemaTable(string connectionString)
{
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open();
DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
return schemaTable;
}
循环 schemaTable 取出 schemaTable .Rows[i]["TABLE_NAME"].ToString(); ,绑定到combox
12:16 2006-8-31
ComboBox 的使用
设置当前列出的项:.SelectedIndex=i //i从0开始
添加列表项:.Items.Add();
获取当前组合框列出的项目:.SelectedItem.ToString();
SelectionChangeCommitted事件:当从下拉列表中选择项而下拉列表关闭时发生。
12:41 2006-8-31
关于数据库的操作:
1.连接数据库:
OleDbConnection Conn = new OleDbConnection();
Conn.ConnectionString = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" + DataBasePath; //DataBasePath为数据库所在的路径,可以用openFileDialog来选择数据文件。
2.得到记录集:
string sql = "select # from " + DataTable; //DataTable为上面数据库中的一个数据表
OleDbCommand objCmd = new OleDbCommand(sql,Conn);
OleDbDataReader objDR;
objDR = objCmd.ExecuteReader();
13:22 2006-8-31
文本文件的IO处理:
1.打开:
int index = openFileDialog1.FileName.LastIndexOf("//");
FileName = openFileDialog1.FileName.Substring(index + 1); //前两句得到的是用openFileDialog选择的文件的文件名
System.IO.FileStream FS = new System.IO.FileStream(FileName, System.IO.FileMode.Open);
System.IO.StreamReader SR = new System.IO.StreamReader(FS);
textBox1.Text = SR.ReadToEnd();
2.写入:
System.IO.StreamWriter sw = new System.IO.StreamWriter(FileName);
sw.Write(textBox1.Text);
13:28 2006-8-31
记事本的处理技巧:
1.删除命令的实现:
if (textBox1.SelectedText != "")
{
textBox1.SelectedText = "";
}
2.撤销命令的实现:
if (textBox1.CanUndo == true)
{
textBox1.Undo();
textBox1.ClearUndo();
}