VS C# 连接数据库时显示”对象名 'max' 无效。 已将数据库上下文更改为 'Xk'。“

maichouqu8526 2016-06-09 01:29:55
在VS里对数据库中的数据进行操作,显示“对象名 'max' 无效。已将数据库上下文更改为 'Xk'。”
同样的sql语句在sqlserver里可以正确运行,应该是连接到数据库的时候出问题了,实在不明白问题出在哪。求助。


string str = "Data Source=2013-20150304RT;Initial Catalog=Xk;Integrated Security=True;";
//此处使用本地计算机连接方式
//创建数据库连接对象
SqlConnection con = new SqlConnection(str);
//创建执行者
SqlCommand com = new SqlCommand("use Xk update max set 运算能力 = (SELECT 1.02 * MAX(运算能力) FROM Department) where 处理器名称='最优处理器'", con);
com.Connection.Open();
com.ExecuteNonQuery();
com.Connection.Close();
主机名是2013-20150304RT,数据库名是Xk,Xk库里确实有max表。
不知道错误出在哪里

...全文
394 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
maichouqu8526 2016-06-10
  • 打赏
  • 举报
回复
找到原因了,是连接字符串是"Data Source=(localdb)\v11.0;Initial Catalog=Xk;Integrated Security=True"里的\应该打成\\
xuzuning 2016-06-09
  • 打赏
  • 举报
回复
访问远程数据库,需要远程数据库做远程访问授权
maichouqu8526 2016-06-09
  • 打赏
  • 举报
回复
引用 2 楼 maichouqu8526 的回复:
[quote=引用 1 楼 shoppo0505 的回复:]
max是数据库关键词,作为对象使用的时候正确语法要用[ ]包起来.
试试:
update [max] set 运算能力 = (....


解决了,是服务器引用错了,应该引用2013-20150304rt\\localdb#e5e1c9d3服务器不是2013-20150304rt服务器,2013-20150304rt服务器里确实没有max表。

不过现在提示在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)。

2013-20150304rt服务器倒是和visualstudio连接起来了。2013-20150304rt\\localdb#e5e1c9d3服务器还没有。[/quote]

在这里

找到了连接字符串是"Data Source=(localdb)\v11.0;Initial Catalog=Xk;Integrated Security=True",服务器名和数据库名这下应该没问题了,但是还是提示
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
maichouqu8526 2016-06-09
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
max是数据库关键词,作为对象使用的时候正确语法要用[ ]包起来. 试试: update [max] set 运算能力 = (....
解决了,是服务器引用错了,应该引用2013-20150304rt\\localdb#e5e1c9d3服务器不是2013-20150304rt服务器,2013-20150304rt服务器里确实没有max表。 不过现在提示在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)。 2013-20150304rt服务器倒是和visualstudio连接起来了。2013-20150304rt\\localdb#e5e1c9d3服务器还没有。
shoppo0505 2016-06-09
  • 打赏
  • 举报
回复
max是数据库关键词,作为对象使用的时候正确语法要用[ ]包起来. 试试: update [max] set 运算能力 = (....

110,590

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧