#c# #sql
#c# #sql
Вопрос:
public partial class add_dept : Form
{
public add_dept()
{
InitializeComponent();
}
DataSet1 ds = new DataSet1();
DataSet1TableAdapters.deptTableAdapter dta = new DataSet1TableAdapters.deptTableAdapter();
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" amp;amp; textBox2.Text != "" amp;amp; textBox3.Text != "" amp;amp; textBox4.Text != "")
{
dta.Fill(ds.dept);
bool flag = false;
for (int i = 0; i <= ds.dept.Rows.Count - 1; i )
{
if(textBox1.Text==ds.dept.Rows[i]["dept_name"].ToString())
{
flag=true;
break;
}
}
if (flag==false)
{
dta.Fill(ds.dept);
DataRow d=ds.dept.NewRow();
d["dept_name"]=textBox1.Text;
d["emp_no"]=textBox2.Text;
d["location"]=textBox3.Text;
d["project_no"]=textBox4.Text;
ds.dept.Rows.Add(d);
dta.Update(ds.dept);
MessageBox.Show("ROW ADDED");
}
else
{
MessageBox.Show("Department already exists");
}
}
}
определение таблицы
CREATE TABLE [dbo].[dept]
(
[dept_id] INT IDENTITY (100, 1) NOT NULL,
[dept_name] VARCHAR (25) NULL,
[emp_no] INT NULL,
[location] VARCHAR (50) NULL,
[project_no] INT NULL,
PRIMARY KEY CLUSTERED ([dept_id] ASC)
);
Комментарии:
1. Я попытался удалить тег из вашей строки заголовка, чтобы он выглядел так: «В коде не отображается ошибка, но в таблицу не добавляются строки», но система сообщает мне, что сообщение содержит почти только код и не позволяет мне сохранить эти изменения…. И система права, вопрос ничего не объясняет.
2. каково значение вашей
flag
переменной? Вы уже отладили свой код?3. я отладил его, но он не выдает никаких ошибок …. начальное значение для флага равно false
4. код содержит только два интересных раздела: первый проверяет, существует ли имя уже в базе данных, а второй пытается добавить новую запись, если имя еще не присутствует. Мои вопросы касались значения
flag
переменной после проверки на уникальность, надеюсь, теперь ясно 😉5. там тоже false … даже отображается сообщение «добавлена строка»… база данных bt не обновляется
Ответ №1:
Вы пробовали использовать
d["emp_no"]=int.Parse(textBox2.Text);
вместо
d["emp_no"]=textBox2.Text;
для ваших целых столбцов??