Итак, я пытаюсь создать отчет и при этом мне нужно заполнить данные в моем наборе данных с помощью адаптера таблицы.
Это начало работать не с ошибкой, сообщающей:
"Попытка присоединить базу данных с автоматическим именем для файла D: \ School Work \ Computing \ Year 14 cOmPUtInG wORk 2018-2O19 \ Coursework \ A2 Coursework \ A2 Coursework \ bin \ Debug \ TransportDatabase.mdf завершилась неудачно. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC. "
Причина, по которой я полагаю, происходит из-за строки подключения в моем адаптерекоторый в настоящее время:
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\TransportDatabase.mdf;Integrated Security=True
Чтобы противостоять этому, я попытался сделать AttachDbFilename похожим на мою строку базы данных в моей системе, которая выглядит следующим образом:
SqlConnectionStringBuilder scStrBuilder = new SqlConnectionStringBuilder();
string filepath = Application.StartupPath;
filepath = filepath.Replace("\\bin\\Debug", "");
scStrBuilder.AttachDBFilename = filepath + "\\TransportDatabase.mdf";
scStrBuilder.DataSource = "(LocalDB)\\MSSQLLocalDB";
scStrBuilder.IntegratedSecurity = false;
Таким образом, чтобы сделать это соответствующимСтрока подключения я сделал это:
string filepath = Application.StartupPath;
filepath = filepath.Replace("\\bin\\Debug", "");
transportDataAdapter.Connection.ConnectionString = "(LocalDB)\\MSSQLLocalDB; AttatchDbFilename = " + filepath + "\\TransportDatabase.mdf;Integrated Security = False" ;
И вот когда возникает ошибка
Ключевое слово не поддерживается: '(localdb) \ mssqlllocaldb; attatchdbfilename'
Полный код моего метода выглядит следующим образом (на случай, если это поможет):
TransportDataSetTableAdapters.PassengersTableAdapter transportDataAdapter = new TransportDataSetTableAdapters.PassengersTableAdapter();
TransportDataSet dataSet = new TransportDataSet();
string filepath = Application.StartupPath;
filepath = filepath.Replace("\\bin\\Debug", "");
transportDataAdapter.Connection.ConnectionString = "(LocalDB)\\MSSQLLocalDB; AttatchDbFilename = " + filepath + "\\TransportDatabase.mdf;Integrated Security = False" ;
transportDataAdapter.Fill(dataSet.Passengers, dTpPickUpDate.Value.ToShortDateString());
this.reportViewer.RefreshReport();