C# dataSet 向数据库添加数据问题.?

问题:“System.Data.SqlClient.SqlDataAdapter”并不包含“insert”的定义E:\所有的C#作业!\HomeWoke_8_1\Home... 问题:
“System.Data.SqlClient.SqlDataAdapter”并不包含“insert”的定义 E:\所有的C#作业!\HomeWoke_8_1\HomeWoke_8_1\Form1.cs 133 28 HomeWoke_8_1

请问添加时报错, 帮我修改下代码? 谢谢!!!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace HomeWoke_8_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{

}
SqlDataAdapter da;
DataSet ds = new DataSet();

//窗体加载时显示再组合框中.!
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=.;database=Student;User id=sa;pwd=sa");
String sql = "select * from dbo.[User]";

// ds = new DataSet("第七章");
da = new SqlDataAdapter(sql,con);

da.Fill (ds,"数据库信息");

//把数据赋给DataGrou 中;

dataGridView1.DataSource =ds.Tables["数据库信息"];

SqlCommand com=new SqlCommand(sql ,con);
try
{
con.Open();
SqlDataReader reader = com.ExecuteReader();
while(reader.Read())
{
comboBox1.Items.Add(reader["UserType"].ToString());
comboBox2.Items.Add(reader["UserType"].ToString ());
}
reader.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}
}

//添加代码:
private void button1_Click(object sender, EventArgs e)
{
DialogResult result= MessageBox.Show("您确认要添加信息吗?","添加提示",MessageBoxButtons.OKCancel ,MessageBoxIcon.Information);
if (result==DialogResult.OK)
{
SqlConnection con = new SqlConnection("server=.;database=Student;User id=sa ;pwd=sa");
//基本的SQL添加语句;
String sql = String.Format("insert into dbo.[User](userName,sex,UserType)values('{0}','{1}','{2}')", txtName.Text, txtSex.Text, comboBox1.Text);
SqlDataAdapter dataAdaper = new SqlDataAdapter(sql, con);
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdaper);
dataAdaper.insert(ds, "数据库信息"); //这里出现错误!
}

else
{
MessageBox.Show("取消成功!");
}
}
}

dataAdaper.insert(ds, "数据库信息");
//这句插入的语法报错, 麻烦帮我更改下代码.? 谢谢
展开
 我来答
liuleiqt
2008-10-14 · TA获得超过1285个赞
知道小有建树答主
回答量:1953
采纳率:0%
帮助的人:374万
展开全部
前面需要 填充数据集 然后
dataAdaper.update(ds)

SqlCommandBuilder builder = new SqlCommandBuilder(dataAdaper);

主要是这段程序思路有点乱

如果用adapter更新数据 一般思路是 查询-》形成dataset,绑定数据后显示在界面,修改数据
if(dataset.hasErrors)
dataset.rejectchanges();
else
dataset.acceptchanges();
dataadapter.update(dataset[,datatable]);
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdaper);

如果是单条写入--如你的程序
一般是 定义了sql文
建立连接SqlConnection
打开连接
command执行sql文
关闭连接
goorcome
2008-10-14 · TA获得超过453个赞
知道小有建树答主
回答量:688
采纳率:0%
帮助的人:524万
展开全部
应该是dataAdaper.Fill(ds, "数据库信息"); 就添加进去了。
好像没有insert这个方法啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuxiaokui
2008-10-14 · 贡献了超过119个回答
知道答主
回答量:119
采纳率:0%
帮助的人:0
展开全部
sqldatadapet dataadper =new

dataadper.insert 没有 intsetrt 这个方法 应该是 dataadper.Fill (
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户70296
2008-10-22 · 超过17用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:0
展开全部
haso
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式