我试图运行代码并将信息从csv文件传递到本地数据库
时有错误消息错误消息是:
system.argumentException:'初始化字符串的格式不符合从索引0开始的规范。'
我不确定这里有什么问题:
SqlConnection conn = new SqlConnection(@"C:USERSOZDOCUMENTSVISUAL STUDIO 2017PROJECTSSHILOVSHILOVLOCALDBSHILOV.MDF");
conn.Open();
SqlCommand cmd = new SqlCommand("insert into PhoneTable(שם,עיר,כתובת,מספר טלפון,אזור,מספר זיהוי,מחוז,נפה,דת)VALUES('" + rows[0] + "','"
+ rows[1] + "','" + rows[2] + "','" + rows[3] + "','" + rows[4] + "','" + rows[5] + "','" + rows[6]
+ "','" + rows[7] + "','" + rows[8] + "') ", conn);
cmd.ExecuteNonQuery();
MessageBox.Show("middle", "SHILOVI2R", MessageBoxButtons.OK);
Console.WriteLine("Inserting Data Successfully");
conn.Close();
视觉的图像屏幕截图:
图像屏幕截图
当我运行该应用程序时,Localdbshilov对他有红色X是Noraml 红色X图像
代码是:
private void button1_Click(object sender, EventArgs e)
{
string strFilePat = @"C:UsersozDesktopsqlbackuptabel3.csv";
ConvertCSVtoDataTable(strFilePat, strFilePat);
}
public static DataTable ConvertCSVtoDataTable(string strFilePath, string conLocoldbString1)
{
MessageBox.Show("start", "SHILOV", MessageBoxButtons.OK);
DataTable dt = new DataTable();
using (StreamReader sr = new StreamReader(strFilePath))
{
string[] headers = sr.ReadLine().Split(',');
foreach (string header in headers)
{
dt.Columns.Add(header);
}
while (!sr.EndOfStream)
{
string[] rows = sr.ReadLine().Split(',');
DataRow dr = dt.NewRow();
for (int i = 0; i < headers.Length; i++)
{
dr[i] = rows[i];
}
try
{
SqlConnection conn = new SqlConnection(@"C:USERSOZDOCUMENTSVISUAL STUDIO 2017PROJECTSSHILOVSHILOVLOCALDBSHILOV.MDF");
conn.Open();
SqlCommand cmd = new SqlCommand("insert into PhoneTable(שם,עיר,כתובת,מספר טלפון,אזור,מספר זיהוי,מחוז,נפה,דת)VALUES('"
+ rows[0] + "','" + rows[1] + "','" + rows[2] + "','" + rows[3] + "','" + rows[4] + "','"
+ rows[5] + "','" + rows[6] + "','" + rows[7] + "','" + rows[8] + "') ", conn);
cmd.ExecuteNonQuery();
MessageBox.Show("middle", "SHILOVI2R", MessageBoxButtons.OK);
Console.WriteLine("Inserting Data Successfully");
conn.Close();
}
catch (Exception e)
{
MessageBox.Show("dont_work", "SHILOVI2R", MessageBoxButtons.OK);
Console.WriteLine("Exception Occre while creating table:" + e.Message + "t" + e.GetType());
}
dt.Rows.Add(dr);
}
}
MessageBox.Show("finish", "SHILOVI2R", MessageBoxButtons.OK);
return dt;
}
您的连接字符串不正确。使用这样的一个:
SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;
AttachDbFilename=C:USERSOZDOCUMENTSVISUAL STUDIO 2017PROJECTSSHILOVSHILOVLOCALDBSHILOV.MDF;
Integrated Security=True;
Connect Timeout=30;
User Instance=True");
当我运行它时,它卡在conn.open((;并且什么也没有发生错误,但是该应用程序继续运行,只是它不会传递到下一行代码,并且没有表
的更新 try
{
//SqlConnection conn = new SqlConnection(@"C:USERSOZDOCUMENTSVISUAL STUDIO 2017PROJECTSSHILOVSHILOVLOCALDBSHILOV.MDF");
SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;
AttachDbFilename=C:USERSOZDOCUMENTSVISUAL STUDIO 2017PROJECTSSHILOVI2RSHILOVI2RPHONENUM.MDF;
Integrated Security=True;
Connect Timeout=30;
User Instance=True");
conn.Open();
SqlCommand cmd = new SqlCommand("insert into phonebook(שם,עיר,כתובת,מספר טלפון,אזור,מספר זיהוי,מחוז,נפה,דת)VALUES('" + rows[0] + "','" + rows[1] + "','" + rows[2] + "','" + rows[3] + "','" + rows[4] + "','" + rows[5] + "','" + rows[6] + "','" + rows[7] + "','" + rows[8] + "') ", conn);
cmd.ExecuteNonQuery();
MessageBox.Show("middle2", "SHILOVI2R", MessageBoxButtons.OK);
Console.WriteLine("Inserting Data Successfully");
conn.Close();
}
catch (Exception e)
{
MessageBox.Show("dont_work", "SHILOVI2R", MessageBoxButtons.OK);
Console.WriteLine("Exception Occre while creating table:" + e.Message + "t" + e.GetType());
}