sql sever2008图形界面删除行,报错“错误源: .DataTools 已更新或删除的行值要么不能使该行不能成为唯,要么改变了多个行”

本文介绍了一位用户在使用SQL Server 2008时遇到的问题:未设置主键的表中添加了大量重复数据,导致无法直接进行修改或删除操作。文章提供了具体的解决办法,即通过SQL语句来删除特定条件的数据。

利用sql sever2008图形界面---Microsoft SqlServer Management Studio向表中添加数据行,可一时性急添加了很多行,并且该个表没有必要设置主键所以就没有设主键约束,如下图:


然后想删除添加的行或者修改这些行时,就报错【错误源: .DataTools 已更新或删除的行值要么不能使该行不能成为唯,要么改变了多个行】,也没看懂啥意思,就问度娘啦。。。

在CSDN话题http://bbs.csdn.net/topics/340159583 看到类似的问题,看了底下各位热心大牛的回复,似乎明白了怎么回事,因为本人没有设置主键,多添加的行还有重复,所以此时只能借助语句删除了。。。。。。。泪奔啊...../-)-\......

下面是删除语句:

delete from tablename where light is null;【sql语句掌握得还是很弱,还得使劲啃啊/-_-\】


### 问题分析 在 C# 中使用 `SqlConnection` 时出现的 `ArgumentException`,其错误信息为“不支持的关键字 'sever:localhost:5032;database'”,表明连接字符串中包含了不被识别格式错误的关键字。这通常是由于连接字符串中拼写错误、格式错误使用了不兼容的参数格式导致的。 在标准的 SQL Server 连接字符串中,正确的语法应使用 `Server`( `Data Source`)来指定服务器地址和端口,使用 `Database` 来指定数据库名称。例如: ```csharp "Server=localhost,5032;Database=MyDatabase;User Id=myUser;Password=myPassword;" ``` 若写成 `sever:localhost:5032;database`,则由于关键字拼写错误(`sever` 应为 `server`)以及使用了冒号 `:` 而非逗号 `,` 分隔服务器和端口,导致解析失败并抛出异常 [^1]。 ### 解决方法 为解决该问题,需确保连接字符串的格式符合 SQL Server 的规范。以下是推荐的修正方式: ```csharp string connectionString = "Server=localhost,5032;Database=MyDatabase;User Id=le5le;Password=admin;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // 执数据库操作 } ``` - `Server=localhost,5032`:指定 SQL Server 实例的地址和端口。 - `Database=MyDatabase`:指定要连接的数据库名称。 - `User Id` 和 `Password`:用于身份验证的凭据。 如果使用的是本地默认实例,可以简化为: ```csharp "Server=(local);Database=MyDatabase;Integrated Security=True;" ``` 其中 `Integrated Security=True` 表示使用 Windows 身份验证。 ### 验证连接字符串格式 为避免格式错误,建议使用以下工具方法验证连接字符串: - 使用 [SQL Server 连接字符串生成器](https://www.connectionstrings.com/sql-server/) 在线工具生成标准格式。 - 在 Visual Studio 中通过“服务器资源管理器”添加数据库连接,系统会自动生成有效连接字符串。 - 使用 `SqlConnectionStringBuilder` 类动态构建连接字符串,确保语法正确: ```csharp SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.DataSource = "localhost,5032"; builder.InitialCatalog = "MyDatabase"; builder.UserID = "le5le"; builder.Password = "admin"; builder.IntegratedSecurity = false; string connectionString = builder.ConnectionString; ``` 该方式可有效避免拼写错误,并确保关键字格式正确 。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值