SQL Server Compact在未知数据类型上抛出异常?

时间:2013-10-12 15:50:49

标签: c# sql winforms sql-server-ce

在SQL Server Compact Edition中,如何以编程方式创建数据库时定义整数?我已经尝试了intInt32Bigint,它们都没有用,它们都会抛出异常,说数据类型无效?

string createTable6 = "CREATE TABLE Gates (Gate1In Bigint(5), Gate1Out Bigint(5), Gate2In Bigint(5), Gate2Out Bigint(5), Gate3In Bigint(5), Gate3Out Bigint(5), Gate4In Bigint(5), Gate4Out Bigint(5), Gate5In Bigint(5), Gate5Out Bigint(5))";

SqlCeConnection connexion6 = new SqlCeConnection(connectionString);
SqlCeCommand table6 = new SqlCeCommand(createTable6, connexion6);

try
{
    connexion6.Open();
    table6.ExecuteNonQuery();
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

connexion6.Close();

2 个答案:

答案 0 :(得分:1)

只使用不带括号的bigint

string createTable6 = "CREATE TABLE Gates (Gate1In bigint, Gate1Out bigint, " + 
       "Gate2In bigint, Gate2Out bigint, Gate3In bigint, Gate3Out bigint, " + 
       "Gate4In bigint, Gate4Out bigint, Gate5In bigint, Gate5Out bigint)";

但是它也适用于int。如果你真的不需要所有整数空间(8个字节),你可以使用整数

答案 1 :(得分:1)

事实上,您在数据类型声明后有括号:

试试这个:

string createTable6 = "CREATE TABLE Gates (Gate1In Bigint, Gate1Out Bigint, Gate2In Bigint, " + 
       "Gate2Out Bigint, Gate3In Bigint, Gate3Out Bigint, Gate4In Bigint, Gate4Out Bigint, " +
       "Gate5In Bigint, Gate5Out Bigint)";