问题描述
SqlConnectionmyConnection=newSqlConnection("Server=localhost;uid=;pwd=;database=star");myConnection.Open();stringstrsql="Insertintostarvalues('"+this.name.Text+"')";SqlCommandmyCommand=newSqlCommand(strsql,myConnection);SqlTransactionmyTrans;myTrans=myConnection.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction");try{myCommand.ExecuteNonQuery();myTrans.Commit();}catch(SqlExceptionex){myTrans.Rollback();}finally{myConnection.Close();myCommand=null;}我的database是:star,我ASP.NET里有个叫“name"的空间,是由用户输入的,还有一个按钮,这个按钮是把用户输入姓名的数据写入到SQL2000中的,那怎么会出现这个连接错误呢?对了我用的是VS2005。
解决方案
解决方案二:
搂主为什么用户密码都是空呢:uid=;pwd=;应该有用户名的吧
解决方案三:
还是失败啊。用户'sa'登录失败。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.SqlClient.SqlException:用户'sa'登录失败。源错误:行27:{行28:SqlConnectionmyConnection=newSqlConnection("Server=localhost;uid=sa;pwd=;database=star");行29:myConnection.Open();就是这个啊。。。。行30:stringstrsql="Insertintostarvalues('"+this.name.Text+"')";行31:SqlCommandmyCommand=newSqlCommand(strsql,myConnection);源文件:d:MyDocumentsVisualStudio2005WebSitesWebSite38cd.aspx.cs行:29
解决方案四:
看搂主的错误,用户sa应该还有密码,也要写到pwd=
解决方案五:
干脆切换到WIN模式算了。。。。SqlConnectionmyConnection=newSqlConnection("server=(local);IntegratedSecurity=SSPI;database=star");
解决方案六:
protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionmyConnection=newSqlConnection("IntegratedSecurity=True;Server=(local);uid=sa;pwd=sa;database=star");stringstrsql="Insertintostarvalues('"+this.name.Text+"')";SqlCommandmyCommand=newSqlCommand(strsql,myConnection);myConnection.Open();SqlTransactionmyTrans;myTrans=myConnection.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction");try{myTrans.Commit();lblMessage.Text=("以保存数据库,谢谢您的参与");}catch(SqlExceptionex){myTrans.Rollback();lblMessage.Text=("保存失败!");}finally{myConnection.Close();myCommand=null;}}现在我已经全面的修改了下,连接数据库是没出错,那怎么还是没有把用户在姓名栏里输入的数据写入到SQL表(star)里呢
解决方案七:
搂主上面代码出现什么异常错误?还有错误信息具体是什么?
解决方案八:
连接字符串里的用户名密码没对。
解决方案九:
呵呵,LS,搂主已经说了:“连接数据库是没出错”
解决方案十:
调试看看catch(SqlExceptionex){}是否有错误
解决方案十一:
没有什么异常啊,那问题我建了个Lable控件,那个控件不是显示事务消息的吗?怎么就直接出现”以保存数据库,谢谢您的参与“,照常理来说,没有保存,怎么就出现这个消息呢。。。。现在想的头也大了。。。
解决方案十二:
回复”人生如梦“,我把myTrans.Rollback();lblMessage.Text=("保存失败!");,去掉了,还是显示”以保存数据库,谢谢您的参与“,我感觉。。。这事务上肯定有错误。。。。谢谢大家了我现在急死了
解决方案十三:
代码是没有问题,但是就是有个警告”声明了变量“ex”,但从未使用过“
解决方案十四:
if(textBox1.Text.Equals("")||textBox2.Text.Equals("")){MessageBox.Show("用户名或密码不能为空!");}else{con=newSqlConnection(@"DataSource=owenSQL2008;InitialCatalog=mydb;PersistSecurityInfo=True;UserID=sa;Password=sa");com=newSqlCommand("selectcount(*)from[user]wherename='"+textBox1.Text.Trim()+"'andpassword='"+textBox2.Text.Trim()+"'",con);con.Open();inti=(int)com.ExecuteScalar();con.Close();if(i!=0){MessageBox.Show("登陆成功!");}else{MessageBox.Show("登陆不成功!");}}
解决方案十五:
if(textBox1.Text.Equals("")||textBox2.Text.Equals("")){MessageBox.Show("用户名或密码不能为空!");}else{con=newSqlConnection(@"DataSource=owenSQL2008;InitialCatalog=mydb;PersistSecurityInfo=True;UserID=sa;Password=sa");com=newSqlCommand("selectcount(*)from[user]wherename='"+textBox1.Text.Trim()+"'andpassword='"+textBox2.Text.Trim()+"'",con);con.Open();inti=(int)com.ExecuteScalar();con.Close();if(i!=0){MessageBox.Show("登陆成功!");}else{MessageBox.Show("登陆不成功!");}}
其他方案:
LS,不是的,我姓名控件里有验证的,用户名(name)用户必须输入!,不然点击保存按钮是没用的。
其他方案:
我以前也遇到过这个错误,我认为你首先应该看看设置:如;1用户名,口令是否正确UI=2:是否使用混合登陆模式。看过这些,我建议你再看一看程序代码方面的问题。
其他方案:
搂主五楼代码里,怎么把:命令执行代码:myCommand.ExecuteNonQuery();去掉了呢?这个可是必须的
其他方案:
也就是改成:try{myCommand.ExecuteNonQuery();myTrans.Commit();lblMessage.Text=("以保存数据库,谢谢您的参与");}这样才会执行SQL的哟
其他方案:
我使用的是混合模式啊,里面用户名,密码都为空的,对了还有我把IntegratedSecurity=True;这个去掉就出现错误了”显示:用户'(null)'登录失败。原因:未与信任SQLServer连接相关联。这怎么回事啊?
其他方案:
完了。。。完了越复杂了,我是按照”net5i“添加一条”myCommand.ExecuteNonQuery();“可是偶又出现这个错误了:如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery要求命令拥有事务。命令的Transaction属性尚未初始化。
其他方案:
呵呵,搂住没有初始化Commmand里面的事务对象,直接给你改个代码吧:protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionmyConnection=newSqlConnection("IntegratedSecurity=True;Server=(local);uid=sa;pwd=sa;database=star");stringstrsql="Insertintostarvalues('"+this.name.Text+"')";SqlCommandmyCommand=newSqlCommand(strsql,myConnection);myConnection.Open();myCommand.Transaction=myConnection.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction");try{myCommand.ExecuteNonQuery();myTrans.Commit();lblMessage.Text=("以保存数据库,谢谢您的参与");}catch(SqlExceptionex){myTrans.Rollback();lblMessage.Text=("保存失败!");}finally{myConnection.Close();myCommand=null;}}
其他方案:
郁闷纳,怎么又有一个错误”CS0103:当前上下文中不存在名称“myTrans”。。。。
其他方案:
噢,sorry,没改完:protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionmyConnection=newSqlConnection("IntegratedSecurity=True;Server=(local);uid=sa;pwd=sa;database=star");stringstrsql="Insertintostarvalues('"+this.name.Text+"')";SqlCommandmyCommand=newSqlCommand(strsql,myConnection);myConnection.Open();myCommand.Transaction=myConnection.BeginTransaction(IsolationLevel.ReadCommitted,"SampleTransaction");try{myCommand.ExecuteNonQuery();myCommand.Transaction.Commit();lblMessage.Text=("以保存数据库,谢谢您的参与");}catch(SqlExceptionex){myCommand.Transaction.Rollback();lblMessage.Text=("保存失败!");}finally{myConnection.Close();myCommand=null;}}
其他方案:
楼上终于成功了,谢谢你啊。如果你是女的,么么。男的就交个朋友吧,哈哈