关于SQL EXPRESS

lidong19860909 2010-10-19 09:48:06
小弟使用SQL EXPRESS创建了桌面应用程序,程序数据库连接没有问题,SELECT语句返回值也没问题,就是UPDATE不成功,也不报错。症状就是软件打开时更新有效,软件退出后数据就还原了,跟没更新时一样。。求救~
连接语句
SqlConnectionStringBuilder connectstringbuilder = new SqlConnectionStringBuilder();
connectstringbuilder.DataSource = @"(local)\sqlexpress";
//指定数据库服务
connectstringbuilder.AttachDBFilename = @"|DataDirectory|\FMS Database.mdf";
//数据库文件,采用相对地址的方式来指定。注意格式
connectstringbuilder.IntegratedSecurity = true;
connectstringbuilder.UserInstance = true;
sqlConnection = new SqlConnection(connectstringbuilder.ConnectionString);
try
{
sqlConnection.Open();
}
catch
{
sqlConnection = null;
}
return sqlConnection;
UPDATE子程序
private bool ExecuteByProc(string strProcName)
{
flag = false;
try
{
sqlCommand = new SqlCommand(strProcName, CreateConnection());
sqlCommand.CommandType = CommandType.StoredProcedure;
flag = sqlCommand.ExecuteNonQuery() == 0 ? false : true;
}
catch
{
flag = false;
}
this.CloseConnection();
return flag;
}
C#语句
db = new OperateDataBase();
db.UpdateData("SP_PASSWORDCHANGE;1", sp);

UPDATE存储过程
ALTER PROCEDURE SP_PASSWORDCHANGE;1 @USERID AS VARCHAR(20)
,@PASSWORD AS VARCHAR(20)
/*
修改密码
*/
AS UPDATE USER_PASSWORD SET PASSWORD = @PASSWORD WHERE USERID = @USERID
/* SET NOCOUNT ON */
RETURN



...全文
131 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
abuying 2010-10-20
  • 打赏
  • 举报
回复
问题就出自VS自带的SQL EXPRESS中!
此版本功能有限!
退出软件后,又重新附加数据库,之前的提交被还原了。
怎么没有日志文件?
lidong19860909 2010-10-19
  • 打赏
  • 举报
回复
我做的这个应用是基于本地的,没有远程连接的功能,所以就做成本地内嵌数据库了,功能上只是档案资料的管理,所以不想使用SQL SERVER,使用VS内嵌的SQL EXPRESS很方便,不用在客户端上安装SERVER,对数据库的操作方式都引用的以前做项目用的SQL SERVER 的操作方法,只是把连接字符串改了,不知道这样是否可行。。经过试验,选择数据是没问题的,但是问题就出在了数据更新上。。。
一下是使用的UPDATE的语句。。
flag = false;
try
{
sqlCommand = new SqlCommand(strProcName, CreateConnection());
sqlCommand.CommandType = CommandType.StoredProcedure;
flag = sqlCommand.ExecuteNonQuery() == 0 ? false : true;
}
catch
{
flag = false;
}
this.CloseConnection();
return flag;
lidong19860909 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wxf163 的回复:]

SQL EXPRESS没有附加到数据库中?啥意思 没有附加数据库你的程序怎么联机启动的呢?
[/Quote]

我用的VS自带的SQL EXPRESS,原因是想制作内嵌数据库的桌面应用,这样客户端不用安装庞大的SQL SERVER.
在连接字符串上就能看出来了,我使用的本地文件。
connectstringbuilder.DataSource = @"(local)\sqlexpress";
//指定数据库服务
connectstringbuilder.AttachDBFilename = @"|DataDirectory|\FMS Database.mdf";
//数据库文件,采用相对地址的方式来指定。注意格式
王向飞 2010-10-19
  • 打赏
  • 举报
回复
SQL EXPRESS没有附加到数据库中?啥意思 没有附加数据库你的程序怎么联机启动的呢?
lidong19860909 2010-10-19
  • 打赏
  • 举报
回复
数据库果真没有更新,但是在软件中是有效的。。不知道怎么回事。。
lidong19860909 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dawugui 的回复:]

我感觉你软件是不是数据提交没有成功?
[/Quote]

数据提交不成功的话会报错啊,但是在软件未关闭调试的情况下,修改的数据是有效的啊。。
lidong19860909 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 beirut 的回复:]

症状就是软件打开时更新有效,软件退出后数据就还原了,跟没更新时一样。。
什么意思?

打开时是更新的 这个时候你看看你的数据库的数据是否更新了
如果没有,那就是你没更新成功,在查询分析器里执行一下你的更新语句
看数据是否更新
[/Quote]

我的SQL EXPRESS没有附加到数据库中,全程用VS调试的,在VS的数据库查看器中调试通过,UPDATE有效,但是在存储过程中就不好使呢。。。
dawugui 2010-10-19
  • 打赏
  • 举报
回复
我感觉你软件是不是数据提交没有成功?
lidong19860909 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxf163 的回复:]

症状就是软件打开时更新有效,软件退出后数据就还原了,跟没更新时一样
???
软件打开时,更新有效是什么意思?你怎么判断的是更新有效呢?
[/Quote]

这里是软件的一个修改登陆密码的功能,注销软件(不退出)后用新密码登录是有效的,旧密码被改掉了,但是关闭软件后密码还是原来的旧密码,跟没改一样。。。
黄_瓜 2010-10-19
  • 打赏
  • 举报
回复
症状就是软件打开时更新有效,软件退出后数据就还原了,跟没更新时一样。。
什么意思?

打开时是更新的 这个时候你看看你的数据库的数据是否更新了
如果没有,那就是你没更新成功,在查询分析器里执行一下你的更新语句
看数据是否更新
王向飞 2010-10-19
  • 打赏
  • 举报
回复
症状就是软件打开时更新有效,软件退出后数据就还原了,跟没更新时一样
???
软件打开时,更新有效是什么意思?你怎么判断的是更新有效呢?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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