我已在本地计算机上安装了mysql,并尝试在visual studio 2017上启用从asp.net web应用程序向已创建的mysql表插入数据。我成功地建立了一个mysql连接,并创建了一个名为“events”的表。
最初,我没有任何语法或系统错误,使用下面的代码,但是每当我尝试在单击时从我的web表单插入数据时,没有数据被插入mysql表。如果我的代码或任何其他文件配置中有任何错误,有什么建议吗?
后来,在我尝试安装connector for.net之后,我仍然无法将数据插入mysql,并且在命名空间mysqlconnection中出现以下错误,声明“类型mysqlconnection存在于两个mysql数据问题中”,如下所示
有什么建议可以纠正,以便能够插入数据到我的表?是在我的插入代码中,还是问题出在其他地方?下面是我的代码:
附录.aspx.cs:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
namespace Prototype3
{
public partial class AddEvent : System.Web.UI.Page
{
//convert event date input into DateTime format on back-end of page
string dateStr = dateinput1.Value;
DateTime date;
//Saving data on added event into MySQL database
string constring = "server=localhost;user id=***********;
password=***********!;
persistsecurityinfo=True;database=homesecretary";
//Connection to database below-check!!
string Query = "INSERT into events (eventTitle) VALUES
('"+tb_eventTitle.Text+"')"; //Parse date input from jQuery
datepicker
MySqlConnection connDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, connDataBase);
MySqlDataReader myReader;
try
{
connDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
connDataBase.Close();
}
web.config文件:
<configuration>
<connectionStrings>
<add name="homesecretaryConnectionString"
connectionString="server=localhost;user
id=********; password=********; persistsecurityinfo=True;
database=homesecretary" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
.....
</configuration>
2条答案
按热度按时间yhqotfr81#
至
update/insert
您可能需要使用的数据ExecuteNonQuery
并填补DataSet
你可以用MySqlDataAdapter
具体如下:bwntbbo32#
你犯了一个非常基本的错误。
mysqldatareader的目的是在选择数据时使用。您需要插入数据而不是查询,以便它应该调用
ExecuteNonQuery()
方法:有关如何在ado.net中插入数据的示例,请参阅以下文档:
msdn-在数据库中插入新记录
注意:请不要在创建查询时进行字符串连接,因为这不是一个好的实践,而应该使用参数化查询。请看下面的示例