2016-08-21 1 views
-1

В основном я пытаюсь разработать программное обеспечение, и я новичок в программировании. Я пытаюсь вставить данные текстового поля в SQL Server R2 Standard 2008 и я получаю сообщение об ошибке:ОШИБКА с подключением базы данных SQL Server

System.NullReferenceException was unhandled

Вот мой код.

SqlConnection con = new SqlConnection(); 
con.ConnectionString = "Data Source=(local);Initial Catalog=songs_db;Persist Security Info=True;User ID=sa;Password=iloveyourb"; 

con.Open(); 

DataSet ds = new DataSet(); 

String sql = "Select * From tbl_songdb"; 

SqlDataAdapter da = new SqlDataAdapter(sql, con); 

DataRow drow = ds.Tables["tbl_songdb"].NewRow(); // I am getting error message here. 
drow[1] = txt_songName.Text; 
drow[2] = txt_minute.Text; 
drow[3] = txt_albumnName.Text; 
drow[4] = txt_location.Text; 

ds.Tables["tbl_songdb"].Rows.Add(drow); 
con.Close(); 
+0

У вас нет кода, который обновляет базу данных, просто инструкцию 'SELECT'. «SqlDataAdapter» должен быть снабжен кодом SQL для выполнения 'INSERT' и 'UPDATE'. –

+0

У этого вопроса может быть ответ на ваш вопрос: http://stackoverflow.com/questions/1631054/using-sqldataadapter-to-insert-a-row –

+0

Я использую коды, написанные в книге, и те же коды, которые я могу найти на разных сайтах, которые используют многие разработчики, но тот же синтаксис для меня не работает –

ответ

1

Ваш набор данных является нулевым, поскольку он не был заполнен ничем.

Посмотрите пример MSDN here.

Из приведенного выше примера:

// Fill the DataSet. 
DataSet dataSet = new DataSet("Suppliers"); 
adapter.Fill(dataSet); 
+0

okay Я пытаюсь и благодарю за помощь ур –

+0

Я получаю ту же ошибку, что и я пытался решить ур, но я все еще получаю эту ошибку –

+0

Правильно ли указано имя источника данных? – Lakhtey

0

Просто делать то, что говорит об ошибке к вам. Обращайтесь с ним попытке поймать так:

 try{ 
    SqlConnection con = new SqlConnection(); 
      con.ConnectionString = "Data Source=(local);Initial Catalog=songs_db;Persist Security Info=True;User ID=sa;Password=iloveyourb"; 
      con.Open(); 
      DataSet ds = new DataSet(); 
      String sql = "Select * From tbl_songdb"; 
      SqlDataAdapter da = new SqlDataAdapter(sql, con); 
      DataRow drow = ds.Tables["tbl_songdb"].NewRow(); // I am getting error message here. 
      drow[1] = txt_songName.Text; 
      drow[2] = txt_minute.Text; 
      drow[3] = txt_albumnName.Text; 
      drow[4] = txt_location.Text; 
      ds.Tables["tbl_songdb"].Rows.Add(drow); 
     da.Update(ds); 
    con.Close(); 
    } 
    catch(Exception ex) 
    { 
MessageBox.Show(ex.ToString()); 

} 
+0

okay ... я пытаюсь и благодарю за помощь ур –

+0

его ошибка не отображается данные из моих текстовых полей не сохраняются в базе данных ??? Что мне делать? –

+0

используйте это: da.Update (ds); – Whencesoever

0
SqlConnection con = new SqlConnection(); 
con.ConnectionString = "Data Source=(local);Initial Catalog=songs_db;Persist Security Info=True;User ID=sa;Password=iloveyourb"; 

con.Open(); 

DataSet ds = new DataSet(); 

String sql = "Select * From tbl_songdb"; 

SqlDataAdapter da = new SqlDataAdapter(sql, con); 
da.Fill(ds); 
DataRow drow = ds.Tables[0].NewRow(); // I am getting error message here. 
drow[1] = txt_songName.Text; 
drow[2] = txt_minute.Text; 
drow[3] = txt_albumnName.Text; 
drow[4] = txt_location.Text; 

ds.Tables[0].Rows.Add(drow); 
SQLiteCommandBuilder cmdbuilder = new SQLiteCommandBuilder(da); 
da.InsertCommand = cmdbuilder.GetInsertCommand(); 
da.Update(ds); 
ds.AcceptChanges(); 
con.Close(); 
+0

Уход ** ** объясните, что вы сделали? Не просто сбросьте кучу кода на нас, и давайте зададимся вопросом, что вы могли сделать/изменили/добавили !! .... –

+0

извините .... , но его сделано и большое спасибо за ваше время и в следующий раз я буду более осторожен в этом –

+0

извините за свою ошибку. Я должен объяснить это ... но его хорошо знать, что проблема уже решена. –

1

на самом деле мой набор данных был пуст, то почему он показывал NULL ошибки

da.Fill(ds, "tbl_studentData"); 

я использовал эти строки, чтобы заполнить его, и теперь все работает хорошо. спасибо всем, кто дал свое время.

 Смежные вопросы

  • Нет связанных вопросов^_^