“如何使用VS2005中的OLEDB的JET SQL驱动来动态创建数据表”,这个问题看似简单,网上大把的资料,但是我实现起来,还是很有难度的,可以说,我是用了很长时间才收集起来的。
现在我把我的解决方法,写下了,既是总结,也是希望能帮到可能正在搜索这个资料的朋友。
对于这个问题,我觉得,比较难的地方就是,有太多类似的资料和类似的方法,但是事实上,JET SQL并不支持太多的方法。
先把我的代码贴出来,然后再说吧。
public void CreatNewTbUser(string MDBName,string NewTbUserName)
{
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+= @"Data Source="+MDBName;
OleDbConnection objConnection = new OleDbConnection(strConnection);
string OleDbCommandString = "CREATE TABLE " + NewTbUserName;
OleDbCommandString+=" ( ";
OleDbCommandString+="AutoID AUTOINCREMENT(1, 1),UserName TEXT(50),UserPsd TEXT(50),";
OleDbCommandString+="LastLoginTime DateTime,LoginTimes Int,MailInbox TEXT(10)";
OleDbCommandString += ");";
OleDbCommand objCommand = new OleDbCommand(OleDbCommandString,objConnection);
objConnection.Open();
objCommand.ExecuteNonQuery();
objCommand.Dispose();
objConnection.Close();
}
怎么好像自己做的时候感觉很多困难,但是做出来了,感觉好像对于自己的困难也没有什么好说的了。
我先是不知道应该使用OleDbCommand的什么方法来执行这个SQL的操作,后来是,不知道,怎么写SQL代码。接着是不知道,怎么设置自动编号的字段,接着又发现,Int这个字段类型后面不支持加括号。
目前,或者说,现在我还在琢磨,怎么设置主键。呵呵,设置主键,单独作为一个文章吧。
设置主键,正像下面留言的这位朋友说的,加上Primary Key就可以了。
OleDbCommandString+="AutoID AUTOINCREMENT(1, 1) Primary Key,UserName TEXT(50),UserPsd TEXT(50),";
现在我把我的解决方法,写下了,既是总结,也是希望能帮到可能正在搜索这个资料的朋友。
对于这个问题,我觉得,比较难的地方就是,有太多类似的资料和类似的方法,但是事实上,JET SQL并不支持太多的方法。
先把我的代码贴出来,然后再说吧。
public void CreatNewTbUser(string MDBName,string NewTbUserName)
{
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+= @"Data Source="+MDBName;
OleDbConnection objConnection = new OleDbConnection(strConnection);
string OleDbCommandString = "CREATE TABLE " + NewTbUserName;
OleDbCommandString+=" ( ";
OleDbCommandString+="AutoID AUTOINCREMENT(1, 1),UserName TEXT(50),UserPsd TEXT(50),";
OleDbCommandString+="LastLoginTime DateTime,LoginTimes Int,MailInbox TEXT(10)";
OleDbCommandString += ");";
OleDbCommand objCommand = new OleDbCommand(OleDbCommandString,objConnection);
objConnection.Open();
objCommand.ExecuteNonQuery();
objCommand.Dispose();
objConnection.Close();
}怎么好像自己做的时候感觉很多困难,但是做出来了,感觉好像对于自己的困难也没有什么好说的了。
我先是不知道应该使用OleDbCommand的什么方法来执行这个SQL的操作,后来是,不知道,怎么写SQL代码。接着是不知道,怎么设置自动编号的字段,接着又发现,Int这个字段类型后面不支持加括号。
目前,或者说,现在我还在琢磨,怎么设置主键。呵呵,设置主键,单独作为一个文章吧。
设置主键,正像下面留言的这位朋友说的,加上Primary Key就可以了。
OleDbCommandString+="AutoID AUTOINCREMENT(1, 1) Primary Key,UserName TEXT(50),UserPsd TEXT(50),";

浙公网安备 33010602011771号