gpt4 book ai didi

c# - MySQL/C# 插入问题

转载 作者:行者123 更新时间:2023-11-29 06:17:12 24 4
gpt4 key购买 nike

不知道这有什么问题

//Setup MySQL
private MySqlConnection datconnection = new MySqlConnection();
//private MySqlDataAdapter datdata = new MySqlDataAdapter();
DataGrid datgridInfo = new DataGrid();
int connect;
private Form_NewEnquiry frm_parent;

public Form_AddVenue(Form_NewEnquiry frm1)
{
InitializeComponent();
frm_parent = frm1;
}

private void btnAdd_Click(object sender, EventArgs e)
{
connect = 0;
try
{
datconnection.ConnectionString =
"server=127.0.0.1;"
+ "database=as;"
+ "uid=a;"
+ "password=a;";
connect = 1;
}
catch (Exception)
{
MessageBox.Show("Connection Unavailable");
}


//INSERT SQL Code to Insert Venue
if (connect == 1)
{
try
{
datconnection.Open();
MySqlCommand command = new MySqlCommand("INSERT INTO venues (venue_name,venue_address1,venue_address2,venue_town,venue_county,venue_postcode,venue_telephone,venue_fax,venue_email,venue_web,venue_maxguests) VALUES (?,?,?,?,?,?,?,?,?,?,?)", datconnection);
command.Parameters.Add("name", MySqlDbType.VarChar, 45, tbName.Text.ToString());
command.Parameters.Add("address1", MySqlDbType.VarChar, 45, tbAddress1.Text.ToString());
command.Parameters.Add("address2", MySqlDbType.VarChar, 45, tbAddress2.Text.ToString());
command.Parameters.Add("town", MySqlDbType.VarChar, 45, tbTown.Text.ToString());
command.Parameters.Add("county", MySqlDbType.VarChar, 45, tbCounty.Text.ToString());
command.Parameters.Add("postcode", MySqlDbType.VarChar, 10, tbPostcode.Text.ToString());
command.Parameters.Add("telephone", MySqlDbType.VarChar, 15, tbTelephone.Text.ToString());
command.Parameters.Add("fax", MySqlDbType.VarChar, 15, tbFax.Text.ToString());
command.Parameters.Add("email", MySqlDbType.VarChar, 255, tbEmail.Text.ToString());
command.Parameters.Add("web", MySqlDbType.VarChar, 255, tbWeb.Text.ToString());
command.Parameters.Add("maxguests", MySqlDbType.Int32, 11, nudNoOfGuests.Value.ToString());
command.ExecuteNonQuery();
//datdata.InsertCommand = command;
}
catch (Exception eea)
{
MessageBox.Show("Error storing data");
MessageBox.Show(eea.ToString());
connect = 0;
}
finally
{
datconnection.Close();
}
}
if (connect == 1)
{
MessageBox.Show("Data Saved");

//Print

//Close Window
frm_parent.reloadVenue();
this.Close();
}
}

这给了我错误 System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小。

最佳答案

似乎某些数据的大小超过了您指定的参数的大小。例如

command.Parameters.Add("name", MySqlDbType.VarChar, 45, tbName.Text);

tbName.Text 字符串的大小小于 45。使用

怎么样?
command.Parameters.Add("name", MySqlDbType.VarChar, tbName.Text.Length, tbName.Text);

关于c# - MySQL/C# 插入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5777450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com