当前位置:数据库 > Access >>

C#中的各种Access操纵总结

关于表的操作: 

新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default 默认值 null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)

删除表:
Drop table [表名]

插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,abc.NET)

删除数据:
DELETE FROM [表名] WHERE [字段名]>100

更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = abc.NET WHERE [字段三] = HAIWA

新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL

删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]

修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename 表名, 新表名, OBJECT

新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= 2000-1-1)

删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名

新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT abc.NET FOR [字段名]

删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名

 

以上部分转载自  作者:PeterXu  来源:Blog.CSDN  Blog: http://blog.csdn.net/peterreg/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明,否则将追究法律责任。本文地址:http://blog.csdn.net/peterreg/archive/2008/05.aspx

 

--------------------------------------华丽的分割线-----------------------------------------

关于Access表的重命名:

数据量不大的时候可以选择:

select * into newtable name from oldTable;

drop table oldTableName;

 

---------------------------华丽的分割线-----------------------------------------

数据类型

access数据类型大全

ALTER TABLE tb ALTER COLUMN aa Byte 数字[字节]

ALTER TABLE tb ALTER COLUMN aa Long 数字[长整型]

ALTER TABLE tb ALTER COLUMN aa Short 数字[整型]

ALTER TABLE tb ALTER COLUMN aa Single 数字[单精度]

ALTER TABLE tb ALTER COLUMN aa Double 数字[双精度]

ALTER TABLE tb ALTER COLUMN aa Currency 货币

ALTER TABLE tb ALTER COLUMN aa Char 文本

ALTER TABLE tb ALTER COLUMN aa Text(n) 文本,其中n表示字段大小

ALTER TABLE tb ALTER COLUMN aa Binary 二进制

ALTER TABLE tb ALTER COLUMN aa Counter 自动编号

ALTER TABLE tb ALTER COLUMN aa Memo 备注

ALTER TABLE tb ALTER COLUMN aa Time 日期/时间

ALTER TABLE tb ALTER COLUMN aa bit 是否

-------------------------------------华丽的分割线------------------------------------

C#将excel导入Access

首先将excel导出到Datatable

  string excelConnectionStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + this.tbExcelPath.Text +
                ";Extended Properties=Excel 8.0;HDR=YES;IMEX=1; ";
            string query = "SELECT   *   FROM   ["+this.cbSheetName.SelectedItem.ToString()+"$]";
            OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(excelConnectionStr));
            OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
            DataSet myDataSet = new DataSet();
            try
            {
                oleAdapter.Fill(myDataSet, this.tbNewDBTableName.Text); 
            }
            catch (Exception exx)
            {
                MessageBox.Show(exx.Message);
            }
            myDataSet.Tables[0].TableName = this.tbNewDBTableName.Text;
 

C# 将Dataset或者DataTable导入Access

先将dataset或者datatable导出为xml,再导入,如果有需要 自行增加主键.

 

            String strXML  = Environment.GetEnvironmentVariable("Temp") + "//xmldata.xml/";
            myDataSet.WriteXml(strXML,XmlWriteMode.WriteSchema);
                Microsoft.Office.Interop.Access.Application accessApp = new Microsoft.Office.Interop.Access.ApplicationClass();
                accessApp.OpenCurrentDatabase(this.tbDatabasePath.Text, false, "");
                accessApp.ImportXML(strXML, AcImportXMLOption.acStructureAndData);
                accessApp.CloseCurrentDatabase();

                accessApp.Quit(AcQuitOption.acQuitSaveAll);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(accessApp);
                accessApp=null;
                GC.Collect();
                System.IO.File.Delete(strXML);

 

-------------------------------------华丽的分割线------------------------------------

将dataset或者datatable保存到表中:

先删除,再添加:

 

            OleDbConnection oleConn = new OleDbConnection(connectStr);
            String sql = "delete from " + curModelName + " where ID >0";
            OleDbCommand cmd = new OleDbCommand(sql, oleConn);
            try
            {
                if (oleConn.State != ConnectionState.Open)
                {
                    oleConn.Open();
 &n

补充:软件开发 , C# ,
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,