C# 连接字符串不正确,如何修复?
我正在使用visual studio 2017社区,我正在尝试创建本地数据库,连接字符串中有一个问题,因为它在一步一步运行时无法连接,它卡在conn.Open()中 这是连接和ExecuteOnQuery的代码:C# 连接字符串不正确,如何修复?,c#,.net,visual-studio,C#,.net,Visual Studio,我正在使用visual studio 2017社区,我正在尝试创建本地数据库,连接字符串中有一个问题,因为它在一步一步运行时无法连接,它卡在conn.Open()中 这是连接和ExecuteOnQuery的代码: try { SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFi
try
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;
AttachDbFilename=C:\USERS\OZ\DOCUMENTS\VISUAL STUDIO 2017\PROJECTS\SHILOVI2R\SHILOVI2R\PHONENUM.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());
}
视频图像截图:
整个代码:
private void button1_Click(object sender, EventArgs e)
{
string strFilePat = @"C:\Users\oz\Desktop\sql\backup\tabel3.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(@"Data Source=.\SQLEXPRESS;
AttachDbFilename=C:\USERS\OZ\DOCUMENTS\VISUAL STUDIO 2017\PROJECTS\SHILOV\SHILOV\LOCALDBSHILOV.MDF;
Integrated Security=True;
Connect Timeout=30;
User Instance=True");
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;
}
}
private void按钮1\u单击(对象发送者,事件参数e)
{
字符串strFilePat=@“C:\Users\oz\Desktop\sql\backup\tabel3.csv”;
convertcsvtodatable(strFilePat,strFilePat);
}
公共静态数据表ConvertCSVtoDataTable(字符串strFilePath,字符串conLocoldbString1)
{
显示(“开始”,“SHILOV”,MessageBox按钮。确定);
DataTable dt=新的DataTable();
使用(StreamReader sr=新StreamReader(strFilePath))
{
string[]headers=sr.ReadLine().Split(',');
foreach(标头中的字符串标头)
{
dt.Columns.Add(表头);
}
而(!sr.EndOfStream)
{
string[]rows=sr.ReadLine().Split(',');
DataRow dr=dt.NewRow();
for(int i=0;i
}如果问题是连接字符串,请使用所附屏幕截图的“属性”选项卡中提供的连接字符串
使用此作为连接字符串,还记得将密码值从“*”替换为实际值。您会遇到这样的问题:C:\USERS\OZ\DOCUMENTS\VISUAL STUDIO 2017\PROJECTS\SHILOV\SHILOV\LOCALDBSHILOV.MDF,因为我尝试这样编写它,但它也没有打开localdb-->SqlConnection conn=new SqlConnection(@“C:\USERS\OZ\DOCUMENTS\visualstudio 2017\PROJECTS\SHILOV\SHILOV\LOCALDBSHILOV.MDF”);在您的屏幕截图中,连接字符串完全不同(它是一个文件路径而不是一个连接字符串)。该字符串肯定会失败,在代码中发布的一个将给您一条详细的异常消息(如果有)。什么是“connectionstring”“已使用?我想连接到名为phonebook的localdb表PHONENUM是数据库-->这是路径:::-->C:\USERS\OZ\DOCUMENTS\VISUAL STUDIO 2017\PROJECTS\SHILOV\SHILOV\LOCALDBSHILOV.mdfy您可能耗尽了ADO.NET连接池。在每次插入时打开SqlConnection既昂贵又低效。尝试组织代码,这样它将只在循环中执行SqlCommand INSERT,其余将在循环外部执行。(这也包括把它放在外面)