【发布时间】:2013-08-15 16:04:43
【问题描述】:
我正在使用以下函数来创建访问表:
public static void createtable(string path, string tablename, string[] columnnames)
{
try
{
string connectionstring = creadteconnectionstring(path);
OleDbConnection myConnection = new OleDbConnection(connectionstring);
myConnection.Open();
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = myConnection;
string columnam = "[" + columnnames[0] + "] Text";
for (int i = 1; i < columnnames.Length; i++)
{
columnam = columnam + ", [" + columnnames[i] + "] Text";
}
myCommand.CommandText = "CREATE TABLE [" + tablename + "](" + columnam + ")";
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
Console.WriteLine("Access table " + tablename + " created.");
}
catch
{
Console.WriteLine("Access table " + tablename + " already exists.");
return;
}
}
但是,如果我在 MS 访问中打开访问表,则数据类型是备忘录,而不是文本。 MS 指定的其他数据类型link 似乎根本不起作用。
欢迎任何想法?谢谢!
【问题讨论】:
-
我认为您使用
VARCHAR(50)或NVARCHAR(50)而不是TEXT。数字就是长度。