C# 连接SQLSERVER2008 提示字符串''后的引号不完整

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 连接SQLSERVER2008 提示字符串''后的引号不完整相关的知识,希望对你有一定的参考价值。

请看 该连接字符串
string sql = " ' update Usertable set Isonlineflag = 1 where UserName = ' " + stuName + " ' ";
conn.open();
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.ExecuteNonQuery;
=======================================================

运行后提示:' update Usertable set Isonlineflag = 1 where UserName = ' " + stuName + ' 附件有语法错误,字符串‘ ’ 后的引号不完整
请问这个更新数据库的字符串到底丢失了什么符号,应在在哪里加上,才能完整?

你好!!红圈处的单引号删去,然后试试

    

参考技术A

你没发现你update前面多了一个单引号吗,去掉它就好了。而且没事不要随便空格,尤其在字符串中间

string sql = 
"update Usertable set Isonlineflag = 1 where UserName ='" + stuName + "'";

本回答被提问者和网友采纳

Sql-Server 配置远程连接以及C#连接字符串

SQL Server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置:
技术分享
使用用sa账户登录SQL Server Management Studio(简写SSMS) 
如果安装时,不是使用SQL Server身份验证模式的,请使用windows身份连接数据库,登录后,右键选择“属性”

技术分享
技术分享

“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式

选择“连接”,勾选“允许远程连接此服务器”,建议将“最大并发连接数”按实际情况,进行设置,然后点“确定”

技术分享

展开“安全性”->“登录名”->“sa”,右键选择“属性”

技术分享

左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
 

技术分享

选择“状态”,选中“启用”,点击“确定”

技术分享

右击数据库选择“方面”

技术分享

在“方面”下接列表框中,选择“服务器配置”,将“RemoteAccessEnabled”属性和”RemotoDacEnabled”设为“True”,点“确定”

技术分享

至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用。
 
下面开始配置Sql Server Configuration Manager (SSCM),选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行

技术分享

打开左侧“SqlServer网络配置”,打开“你自己数据库实例名的协议”,查看右侧的TCP/IP默认是“已禁用”,将其修改为“已启用”

技术分享

双击打开“TCP/IP”查看“TCP/IP属性”下“协议”选项卡中的“全部侦听”和“已启用”项,是否都是设置成“是”

技术分享

选择“IP Addersses”选项卡,IP1、IP2、IPAll设置TCP端口为“1433”,TCP动态端口为空值,已启用为“是”

技术分享
 

如图将"客户端协议"的"TCP/IP"也修改为“已启用”

技术分享

双击打开右侧“TCP/IP”,打开“TCP/IP属性”,将默认端口设为“1433”,已启用为“是”

技术分享

配置完成,重新启动SQL Server 2008。
最后一步,必需要防火墙上把SQL Server 的1433 TCP端口和1434 UDP端口映射出去。
注意:SQL Server 2005/2008 Express安装以后,默认情况下是禁用远程连接的。如果需要远程访问,需要手动配置。
打开防火墙设置。将SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中。
 
该文章是根据本人在使用的实际情况中进行不断试验和在网上查找相关资料进行整改的。
由于本人使用的是CiscoASA5510的防火墙,所以在配置防火墙的时候曾经一度以为只要1433的TCP端口映射就可以了,但是却反复试验都不成功。最后查找了Sql Server网络端口的相关资料,再把1434的UDP端口也一并映射出去,就可以用SSMS在INTERNET中成功连接。
C#连接字符串
public static string strConnection = "data source=*.*.*.*;initial catalog=mcudata;user id=sa;password=sa;";

Integrated Security = True是什么意思?

integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。

可能产生的问题:

sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 错误18452

解决方案

用户 ‘sa‘ 登录失败。该用户与可信 SQL Server 连接无关联

问题一、忘记了登录Microsoft SQL Server 2005 的sa的登录密码

解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改密码(sa的密码不能太简单,最好要有数字,字母,下划线字符组成,且长度最好大于10个字符);点击确定就可以了。

问题二、已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)

解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005就可以了。

问题三、无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)

解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了。

问题四、sql server 2005 错误 18452

无法连接到服务器

服务器:消息18452, 级别16,状态1

[Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联

该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如 sa )进行连接,解决方法如下

设置允许SQL Server身份登录 (基本上这个很有用)

操作步骤:

1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称

2。选择"属性"

3。再选择"安全性"选项卡

4。在"身份验证"下,选择"SQL Server和 Windows"

5。确定,并重新启动SQL Server服务

问题五、用户 ‘sa‘ 登录失败。该用户与可信 SQL Server 连接无关联。

解决方法:检查你的数据库的认证模式,windows 和 混合模式,需要SA登陆的请选择混合模式。

检查计算机1433连接端口,1434数据端口是否打开

针对sql 2005 进入管理器中“安全”==》“用户”==》双击用户(弹出属性对话框)==》“状态”把状态改成enable,退出管理器重新登录(用户验证模式)

即:右键数据库属性对话框,选择“安全性”选项卡,服务器身份验证模式选择“SQL Server和Windows身份验证模式 。然后重新配置sa的登陆信息即可。

SQL SERVER 2005使用sa 登录失败-提示该用户与可信 SQL Server 连接无关联

错误提示:

sa 登录失败,提示该用户与可信 SQL Server 连接无关联

解决方法:

打开SQL Server Management Studio Express,

右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,

将server authentication服务器认证从windows authentication mode(windows用户认证模式)

修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。

打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。

切记:一定要把SQL2005服务重启才生效。

以上是关于C# 连接SQLSERVER2008 提示字符串''后的引号不完整的主要内容,如果未能解决你的问题,请参考以下文章

HikariCP 数据库连接池连接SQLServer2008 提示:com.microsoft.sqlserver.jdbc.SQLServerConnection.getSchema()Ljava/

c# vs2010连接SQLServer2008时出现“未将对象引用设置到对象的实例。”

sqlserver数据库重启后 程序必须重启的问题(不重启提示:该连接已关闭)?

sql连接优化[关闭]

如何用SQL SERVER 2005连接SQL SERVER 2008

SqlDataReader C#,SQL Server 2005,VS 2008