Позвольте мне начать с того, что это мое первое реальное приложение C#, поэтому я знаю, что есть, вероятно, более эффективные способы делать вещи, но это моя первая попытка. В любом случае цель приложения - считывать данные из разделенного запятыми файла, разделять каждый элемент этого разделенного запятой файла и затем импортировать эти элементы в строки в базе данных. В настоящее время я застрял в своей попытке и ломаю фразу, где он каждый раз попадает в ловушку, поэтому он никогда не подключается к моей базе данных. Будем очень благодарны за любые советы, подсказки или помощь.Вставка новых строк в базу данных из текстового файла
Current Error: Необработанное исключение типа 'System.InvalidOperationException' произошло в System.Data.dll
Дополнительная информация: Подключение должно быть действительным и открытым
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.IO;
using System.Data.SqlClient;
namespace Form1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (File.Exists(@"C:\Users\E15913\Downloads\testfile3.txt"))
File.Delete(@"C:\Users\E15913\Downloads\testfile3.txt");
var reader = new StreamReader(File.OpenRead(@"C:\Users\E15913\Downloads\ALMGrade.csv"));
using (StreamReader readFile = new StreamReader(@"C:\Users\E15913\Downloads\ALMGrade.csv"))
{
string newline = "\n";
string line;
string[] row;
int i = 0;
while ((line = readFile.ReadLine()) != null)
{
i++;
row = line.Split(',');
System.IO.File.AppendAllText(@"C:\Users\E15913\Downloads\testfile3.txt", row[0].ToString() + Environment.NewLine + row[1].ToString() + Environment.NewLine + row[2].ToString() + Environment.NewLine + row[3].ToString() + Environment.NewLine + row[4].ToString() + Environment.NewLine + row[5].ToString() + Environment.NewLine + row[6].ToString() + Environment.NewLine + row[7].ToString() + Environment.NewLine);
}
string MyConString = "SERVER=10.100.135.220;" + "DATABASE=ak_steel;" + "UID=pickler;" + "PASSWORD=csmrecession09;";
string _recDateTimeMySql = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
using (MySqlConnection connection = new MySqlConnection(MyConString))
{
MySqlCommand cmd = new MySqlCommand("insert into p4gradetable_copy (Grade, CoilingTemp, GaugeRange, WidthRange, MeshCassette1, MeshCassette2, XBow, Elongation) VALUES(" + '"' + line + '"' + "," + '"' + line + '"' + "," + '"' + line + '"' + "," + '"' + line + '"' + "," + '"' + line + '"' + "," + '"' + line + '"' + "," + '"' + line + '"');
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@Grade", line);
cmd.Parameters.AddWithValue("@CoilingTemp", line);
cmd.Parameters.AddWithValue("@GaugeRange", line);
cmd.Parameters.AddWithValue("@WidthRange", line);
cmd.Parameters.AddWithValue("@MeshCassette1", line);
cmd.Parameters.AddWithValue("@MeshCassette2", line);
cmd.Parameters.AddWithValue("@XBow", line);
cmd.Parameters.AddWithValue("@Elongation", line);
connection.Open();
cmd.ExecuteNonQuery();
label1.Text = "It Works";
}
}
}
}
}
вы едите очень полезное сообщение об исключении из-за того, почему оно не связано с очень бесполезным «почему это не работает». Избавьтесь от улова try и обработайте ошибку – Plutonix
. Я сделал, как вам было предложено, и получил ошибку. Необработанное исключение типа «System.Data.SqlClient.SqlException» произошло в System.Data.dll. Мне понадобилась линия connection.Open(). – osxoverkill
Я нашел [это] (http://www.c-sharpcorner.com/UploadFile/0c1bb2/inserting-csv-file-records-into-sql-server-database-using-as/) был полезным указателем, когда я что-то похожее на это – McShep