当前位置: 首页 > 编程语言 > C#

如何检测MySql查询是否成功并输出信息?分享

时间:2023-04-10 14:52:11 C#

如何检测MySql查询是否成功并输出信息?我正在使用C#制作图书馆管理系统。例如,我有一个表格来添加一本书。输入所有详细信息并运行查询以将书籍添加到数据库后,我想知道如何检测查询是否成功并输出消息。表单代码:privatevoidbtnSubmit_Click(objectsender,EventArgse){stringisbn=txtISBN.Text;字符串标题=txtbkTitle.Text;stringauthor=txtbkAuthor.Text;stringpublisher=txtbkPublisher.Text;stringimgPath=txtimgstringPath.Text;catalog=txtCatalog.Text;bookbc=newbook(isbn,title,author,publisher,imgPath,catalog);utility=newDBUtlitiesBook();实用程序。插入(公元前);}此代码获取用户条目的所有详细信息,将它们存储在变量中并将它们发送到带有插入查询的方法。这是方法:publicoverridevoidInsert(objectob){bookbk=(book)ob;字符串isbn=bk.Isbn;字符串标题=bk.Title;字符串author=bk.Author;stringpublisher=bk.Publisher;stringlocalPath=bk.Imgpath;stringcatalogid=bk.CatalogID;MySqlConnection连接=newMySqlConnection(conn);MySql命令命令;尝试{connection.Open();cmd=connection.CreateCommand();cmd.CommandText="INSERTINTOBOOK(ISBN,title,author,publisher,imgPath,catalogID)VALUES('"+isbn+"','"+标题+"','"+作者+"','"+发布者+"','"+localPath+"','"+catalogid+"')";cmd.ExecuteNonQuery();}赶上(异常){抛出;}finally{if(connection.State==System.Data.ConnectionState.Open){connection.Close();}}}(此方法将覆盖父类中的另一个方法)你能帮我解决我的问题吗?谢谢你可以使用下面的代码试试{connection.Open();cmd=connection.CreateCommand();cmd.CommandText="INSERTINTOBOOK(ISBN,title,author,publisher,imgPath,catalogID)VALUES('"+isbn+"','"+title+"','"+author+"','"+publisher+"','"+localPath+"','"+catalogid+"')";inta=cmd.ExecuteNonQuery();if(a>0)//updated.else//Notupdated.}catch(Exception){//Notupdated.}如果我理解正确,对于INSERT语句,ExecuteNonQuery返回受影响的行数,这就是你可以checkThereasonforit;introwCount=cmd.ExecuteNonQuery();if(rowCount==1)//或者你可以使用>0{//Successful}else{//Unsuccessfull}顺便说一句,使用参数化查询。这个该字符串连接对SQL注入攻击开放,也可以使用using语句处理MySqlConnection和MySqlCommandusing(MySqlConnectionconnection=newMySqlConnection(conn))using(MySqlCommandcmd=connection.CreateCommand()){cmd.CommandText="INSERTINTOBOOK(ISBN,title,author,publisher,imgPath,catalogID)VALUES(@isbn,@title,@author,@publisher,@path,@id)";...//添加参数值一个接一个.connection.Open();introwCount=cmd.ExecuteNonQuery();if(rowCount==1)//或者你可以使用>0{//Successful}else{//Unsuccessfull}}ExecuteNonQuery返回一个int,这意味着受影响的行数。因此,如果什么都不做,它会返回零。您可以对其返回值设置布尔条件并返回消息或值本身。你可能要修改父类,这样re才能有返回值。使用MySql连接器库时引发的异常指示错误。如果要处理失败,则不应重新抛出异常。您也不想捕获所有异常并立即处理它们。相反,只会捕获MySqlException。我不确定该类在哪个命名空间中,您必须自己找到它。以上就是C#学习教程:如何检测MySql查询是否成功并输出消息?如果分享的内容对你有用,需要进一步了解C#学习教程,希望你多多关注——catch(MySqlException异常){//处理错误,显示一些消息}本文收藏来自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: