C#访问SQL-server数据库问题
我刚学C#语言, 连接的数据库是SQL server数据库。 学到使用 DataAdapter和DataSet访问数据库时有些问题没搞明白。我本想用 DataAdapter和DataSet访问数据库,然后对数据库进行一些操作,最后根据得到的数据在窗体上生成一张表,。
主要代码如下:
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SqlConnection connection = ToolClass.getConnection();//得到连接的对象
String CommandStr = null;//命令语句
try
{
#region 查询操作
CommandStr = "SELECT * FROM studentInfo";//命令语句
SqlDataAdapter da = new SqlDataAdapter(CommandStr, connection);
//SqlCommandBuilder builder = new SqlCommandBuilder(da);
DataSet set = new DataSet();
da.Fill(set, "studentTable");
#region 添加行
DataRow newRow = set.Tables["studentTable"].NewRow();
newRow["学号"] = 15;
newRow["姓名"] = "小东";
newRow["年龄"] = 24;
newRow["专业"] = "土木";
set.Tables["studentTable"].Rows.Add(newRow);
#endregion
#region 删除行
DataRow deleteRow = set.Tables["studentTable"].Rows.Find(2);
set.Tables["studentTable"].Rows.Remove(deleteRow);
#endregion
da.Update(set, "studentTable");
dataGridView1.DataSource = set.Tables["studentTable"];
#endregion
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
connection.Close();
}
}
}
public class ToolClass
{
public static SqlConnection getConnection()
{
String dataName = "StudyTest";//数据源
String userName = "sa";//用户名
String password = "sa";//密码
String connectionString = @"Server=localhost;database=" + dataName + ";uid=" + userName + ";pwd=" + password;//连接请求
try
{
SqlConnection connection = new SqlConnection(connectionString);//得到连接对象
connection.Open();//打开连接
return connection;//返回一个连接对象
}
catch (Exception ex)
{
Console.WriteLine("建立连接错误!\n" + ex.ToString());
return null;
}
}
}
}
问题: 如果我不加上 SqlCommandBuilder builder = new SqlCommandBuilder(da);这句代码,只能查询数据库的数据把它显示的在表中,但是如果要进行 插入 删除操作就会有问题,表中显示不了数据。 加上这句代码,向数据库插入数据没问题了,但是删除依然有问题。 我就不明白怎么用DataAdapter和DataSet 对数据库进行 添加 更改 删除操作。
我刚学C#,能给个有关用DataAdapter和DataSet 对数据库进行操作的例子吗。 先谢谢了!
如果想把数据库的数据在窗体上以表格形式显示出来,应该用什么控件。我这里用的是DataGridView控件。
还有我不明白的是, 用DataAdapter和DataSet 访问数据库跟用SQL命令访问有什么区别吗? 是不是效率更高些?