![](/img/trans.png)
[英]Insert SQL data into table in ASP.Net Web Application via textbox
[英]Unable to insert data into MySQL table via ASP.NET Web Application
我已在本地計算機上安裝MySQL,並嘗試允許將數據從Visual Studio 2017上的ASP.NET Web應用程序插入到已創建的MySQL表中。我已成功建立了MySQL連接並創建了名為``事件''的表”。
最初,使用下面的代碼,我沒有任何語法或系統錯誤,但是每當我單擊並嘗試從Web表單插入數據時,就不會將任何數據插入MySQL表中。 如果我的代碼或任何其他文件配置有任何錯誤的任何建議?
稍后,在嘗試安裝.NET連接器后,我仍然無法將數據插入MySql,並且在命名空間MySqlConnection中收到以下錯誤,如下所示,顯示“ the-type-mysqlconnection-exists-in-both-mysql-data-issue”下面
有什么建議可以糾正,以便能夠將數據插入表中? 是在我的插入代碼中還是問題出在其他地方? 下面是我的代碼:
AddEvent.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>
您在這里犯了一個非常基本/根本的錯誤。
MySqlDataReader的目的是在我們選擇數據時使用。 您需要插入非查詢數據,因此應調用ExecuteNonQuery()
方法:
// for inserts/updates queries
cmdDataBase.ExecuteNonQuery()
請參閱以下文檔以查看有關如何在ADO.NET中插入數據的示例:
注意:請不要對創建查詢進行字符串連接,因為這不是一個好習慣,而是應該使用參數化查詢。 在這里查看示例
要update/insert
數據時,你可能需要使用ExecuteNonQuery
和填滿DataSet
你可以用MySqlDataAdapter
如下:
private static string _DBConnectionString = string.Empty;
public static int SetData(string sqlQuery)
{
int iReturn = -1;
try
{
MySqlCommand cmd = new MySqlCommand(sqlQuery);
using (MySqlConnection conn = new MySqlConnection(DBConnectionString))
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
iReturn = cmd.ExecuteNonQuery();
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
catch (Exception E)
{
iReturn = -1;
}
return iReturn;
}
public static object GetData(string sqlQuery)
{
DataSet dtSet = new DataSet();
try
{
MySqlCommand cmd = new MySqlCommand(sqlQuery);
MySqlDataAdapter adpt = new MySqlDataAdapter();
using (MySqlConnection conn = new MySqlConnection(DBConnectionString))
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.CommandTimeout = 0;
adpt.SelectCommand = cmd;
cmd.Connection = conn;
adpt.Fill(dtSet);
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
catch (Exception E)
{
}
return dtSet;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.