C#将数据库的一列内容提取出来,放到数组中,与文本框进行比较,
C#将数据库的一列内容提取出来,放到数组中,与文本框进行比较,如果不相同的话将数据插入库中,却报错找不到teacher表,求大神帮我看看privatevoidbutton...
C#将数据库的一列内容提取出来,放到数组中,与文本框进行比较,如果不相同的话将数据插入库中,却报错找不到teacher表,求大神帮我看看
private void button1_Click(object sender, EventArgs e)
{
string str = "Data Source=localhost;Initial Catalog=bookmanage;Persist Security Info=True;User ID=sa;Password=Ko12345678";
SqlConnection conn = new SqlConnection(str);
conn.Open();
string sql = "select Tcode from teacher"; //要执行的sql语句,你改成你的表名
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);//填充数据到dt
int j=1;
for(int i=0;i<dt.Rows.Count;i++)
{
if(dt.Rows[i].ToString().Trim().Equals(textBox1.Text.Trim()))
{
j=0;
}
}
if (j==1)
{
string sql1 = "insert into teacher(Tcode,Tname,Tsex,Tage,Tpassword)values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')";
SqlCommand cmd = new SqlCommand(sql1, conn);
cmd.ExecuteNonQuery();
MessageBox.Show("该教师信息插入成功^_^");
}
else
{
MessageBox.Show("教师编号不能重复");
}
} 展开
private void button1_Click(object sender, EventArgs e)
{
string str = "Data Source=localhost;Initial Catalog=bookmanage;Persist Security Info=True;User ID=sa;Password=Ko12345678";
SqlConnection conn = new SqlConnection(str);
conn.Open();
string sql = "select Tcode from teacher"; //要执行的sql语句,你改成你的表名
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);//填充数据到dt
int j=1;
for(int i=0;i<dt.Rows.Count;i++)
{
if(dt.Rows[i].ToString().Trim().Equals(textBox1.Text.Trim()))
{
j=0;
}
}
if (j==1)
{
string sql1 = "insert into teacher(Tcode,Tname,Tsex,Tage,Tpassword)values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')";
SqlCommand cmd = new SqlCommand(sql1, conn);
cmd.ExecuteNonQuery();
MessageBox.Show("该教师信息插入成功^_^");
}
else
{
MessageBox.Show("教师编号不能重复");
}
} 展开
1个回答
展开全部
你要另外写的话,可以。先连接数据库,创建SqlDataApter对象,把查到的结果集填充到Datatable里显示、然后再逐个获取Datatable单元格的内容。
或用SqlDataReader来,它是逐行读取数据的,每读一次就把当前行添加到集合里。
sqlhelper这个类是对数据库操作进行封装而已,方便重复使用。你在vs里,右击你的代码 Sqlhelper---转到定义,仔细看它是怎么通过getDataTable()这个函数
获得数据库数据的。原理都是一样的。
1
2
3
4
5
6
7
8
9
10
11
string constr = "data source=.;database=Goods; uid=123;pwd=123;";//连接的数据库的信息
SqlConnection conn = new SqlConnection(constr);//创建连接
conn.Open();//打开连接
string sql = "select *from Course"; //要执行的sql语句,你改成你的表名
SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
sda.Fill(dt);//填充数据到dt
foreach (DataRow row in dt.Rows)
{
list.Add(row["课程编号"].ToString());
或用SqlDataReader来,它是逐行读取数据的,每读一次就把当前行添加到集合里。
sqlhelper这个类是对数据库操作进行封装而已,方便重复使用。你在vs里,右击你的代码 Sqlhelper---转到定义,仔细看它是怎么通过getDataTable()这个函数
获得数据库数据的。原理都是一样的。
1
2
3
4
5
6
7
8
9
10
11
string constr = "data source=.;database=Goods; uid=123;pwd=123;";//连接的数据库的信息
SqlConnection conn = new SqlConnection(constr);//创建连接
conn.Open();//打开连接
string sql = "select *from Course"; //要执行的sql语句,你改成你的表名
SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
sda.Fill(dt);//填充数据到dt
foreach (DataRow row in dt.Rows)
{
list.Add(row["课程编号"].ToString());
追问
我晓得原因所在了,数据库连接错了,尴尬
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询