C#,MySQL 对象引用未设置为对象错误的实例
C#, MySQL object reference not set to an instance of an object error
我正在开发一个 C# 项目,该项目从结构如下的文本文件中读取:教父、1972、戏剧、R、勇敢的心、1995、动作、R 等等。
本来打算将其输入到MySql数据库中,但是当我点击上传按钮时,我得到了"object reference not set to an instance of an object"。为什么会这样?
public partial class Form1 : Form
{
MySqlConnection mcon = new MySqlConnection("datasource=localhost;port= 3306;username= root;password=");
MySqlCommand mcd;
MySqlDataReader mdr;
string s;
public Form1()
{
InitializeComponent();
}
private void buttonUpload_Click(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(@"C:\Users\Owner\Desktop\moviedata.txt");
foreach (var line in lines)
{
var data = line.Split(new[] { ',' }, 4);
string title = data[0].Trim();
int year = int.Parse(data[1].Trim());
string genre = data[2].Trim();
string rating = data[3].Trim();
recordMovie(title, year, genre, rating);
}
}
private void recordMovie(string title, int year, string genre, string rating)
{
try
{
mcon.Open();
mcd.CommandText = @"INSERT INTO movies (title, year, genre, rating) VALUES (@title, @year, @genre, @rating)";
mcd.Parameters.AddWithValue("@title", title);
mcd.Parameters.AddWithValue("@year", year);
mcd.Parameters.AddWithValue("@genre", genre);
mcd.Parameters.AddWithValue("@rating", rating);
mcd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
mcon.Close();
}
}
}
您不应将 MySqlCommand 指定为连接字符串。在这一行添加你的代码
mcd= new MySqlCommand("INSERT INTO movies (title, year, genre, rating) VALUES (@title, @year, @genre, @rating)", mcon);
更多详细信息参考此link
http://www.codeproject.com/Articles/43438/Connect-C-to-MySQL
我正在开发一个 C# 项目,该项目从结构如下的文本文件中读取:教父、1972、戏剧、R、勇敢的心、1995、动作、R 等等。
本来打算将其输入到MySql数据库中,但是当我点击上传按钮时,我得到了"object reference not set to an instance of an object"。为什么会这样?
public partial class Form1 : Form
{
MySqlConnection mcon = new MySqlConnection("datasource=localhost;port= 3306;username= root;password=");
MySqlCommand mcd;
MySqlDataReader mdr;
string s;
public Form1()
{
InitializeComponent();
}
private void buttonUpload_Click(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(@"C:\Users\Owner\Desktop\moviedata.txt");
foreach (var line in lines)
{
var data = line.Split(new[] { ',' }, 4);
string title = data[0].Trim();
int year = int.Parse(data[1].Trim());
string genre = data[2].Trim();
string rating = data[3].Trim();
recordMovie(title, year, genre, rating);
}
}
private void recordMovie(string title, int year, string genre, string rating)
{
try
{
mcon.Open();
mcd.CommandText = @"INSERT INTO movies (title, year, genre, rating) VALUES (@title, @year, @genre, @rating)";
mcd.Parameters.AddWithValue("@title", title);
mcd.Parameters.AddWithValue("@year", year);
mcd.Parameters.AddWithValue("@genre", genre);
mcd.Parameters.AddWithValue("@rating", rating);
mcd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
mcon.Close();
}
}
}
您不应将 MySqlCommand 指定为连接字符串。在这一行添加你的代码
mcd= new MySqlCommand("INSERT INTO movies (title, year, genre, rating) VALUES (@title, @year, @genre, @rating)", mcon);
更多详细信息参考此link
http://www.codeproject.com/Articles/43438/Connect-C-to-MySQL