积极答复者
关于用SQL语句建主键的问题

问题
-
我在一个程序中用动态创建数据库的方法建立的一个数据库,其中有一个表我建立了主键,
但是我用查询分析器以主键作为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)
这几种方式建立主键后都无法根据主键查询到资料
答案
-
问题已经解决,此问题与建库建表建约束都没有关系,是跟SQL CE版本的相容性有关,
我用的是3.0的sdf数据库档,却用了3.5的System.Data.SqlServerCe.dll去连接,因此出现了读取不到数据的情况。
- 已标记为答案 jessicaChing 2011年6月1日 6:32
全部回复
-
问题已经解决,此问题与建库建表建约束都没有关系,是跟SQL CE版本的相容性有关,
我用的是3.0的sdf数据库档,却用了3.5的System.Data.SqlServerCe.dll去连接,因此出现了读取不到数据的情况。
- 已标记为答案 jessicaChing 2011年6月1日 6:32