none
关于用SQL语句建主键的问题 RRS feed

  • 问题

  • 我在一个程序中用动态创建数据库的方法建立的一个数据库,其中有一个表我建立了主键,

    但是我用查询分析器以主键作为where条件去查询资料时却找不到资料,用其他非主键字段作为where条件都能查到,

    并且我试过手动建立数据库并添加主键是没问题的,也试过动态创建数据库时不建立主键,等数据库建好后手动添加主键都是OK的,都可以根据建立的主键查到数据。

    请教各位,这是什么问题?有没有办法解决?

    PS:我建的是vs项目中的.sdf数据库,建好后用sqlserver上的SQL Server Compact Edition去连接动态建立的.sdf数据库

    我建表建主键的语句试过以下几种:

    1. CREATE TABLE TABLE_NAME(Field1 nvarchar(10), Field2 nvarchar(10) PRIMARY KEY, Field3...)

    2. CREATE TABLE TABLE_NAME(Field1 nvarchar(10), Field2 nvarchar(10) , Field3...,CONSTRAINT PK_TABLE_NAME PRIMARY KEY(Field2))

    3. CREATE TABLE TABLE_NAME(Field1 nvarchar(10), Field2 nvarchar(10), Field3...)

        ALTER TABLE TABLE_NAME ADD CONSTRAINT PK_TABLE_NAME PRIMARY KEY (Field2)

    这几种方式建立主键后都无法根据主键查询到资料



    2011年5月24日 6:10

答案

  • 问题已经解决,此问题与建库建表建约束都没有关系,是跟SQL CE版本的相容性有关,

    我用的是3.0的sdf数据库档,却用了3.5的System.Data.SqlServerCe.dll去连接,因此出现了读取不到数据的情况。



    2011年6月1日 6:32

全部回复