using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data;namespace WindowsFormsApplication1a
{
public partial class Form1 : Form
{
DataSet dt;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
BindData();
} private void BindData()
{
dt = new DataSet(); //1 数据库连接字符串
string connString = "server=.;database=stumanage;uid=sa;pwd=sa";
//2 创建数据库连接对象
using (SqlConnection conn = new SqlConnection(connString))
{
// 3 创建适配器对象
SqlDataAdapter sda = new SqlDataAdapter("select * from classinfo", conn); // 4 填充数据
sda.Fill(dt, "student");
} dataGridView1.DataSource = dt.Tables[0].DefaultView;
} private void sqlConn()
{
string connString = "server=.;database=stumanage;uid=sa;pwd=sa";
using (SqlConnection conn = new SqlConnection(connString))
{
string updataString = "updata stumanage set c_teacher=@tea where c_class=@cla";
SqlDataAdapter sda = new SqlDataAdapter("select * from stumanage", conn);
SqlParameter par1 = new SqlParameter("@tea", SqlDbType.NChar);
par1.SourceColumn = "c_teacher";
par1.SourceVersion = DataRowVersion.Original;
SqlParameter par2 = new SqlParameter("@cla", SqlDbType.NChar);
par2.SourceColumn = "c_class";
par2.SourceVersion = DataRowVersion.Current;
SqlCommand cmd = new SqlCommand(updataString, conn);
cmd.Parameters.Add(par1);
cmd.Parameters.Add(par2);
sda.UpdateCommand = cmd;
sda.Update(dt, "student");
}
} private void button1_Click(object sender, EventArgs e)
{
sqlConn();
}
}
}
解决方案 »
- 请教一个问题,一个字符串,数字后的第一个字母大写。。。
- Winform中如何隐藏或者禁用TreeView的某个节点
- .net中怎么把视频显示出来,急!!!
- HTMLTableCellElement引用命名空间错误
- 正则表达式匹配字符串
- 求MIS的开源代码
- 使用WMI监控远程机器,对方必须在域才行吗??
- 解惑!在xsl中,有能实现类似静态变量的元素或方法吗?----xsl:variable 变量的循环递增问题!
- 给我一个winfrom上应用Ado.net的例子,谢谢
- 如何把"select customer.id,customer.name,order.product from customer,order"帮定到一个datagrid中显示?
- 汉字字符串不够位数补空格问题
- C#如何判断本程序自身开了多少线程呢?
c_class 这个我用的 Current 当前值 这两个值怎么去理解?
我好像用反了的样子..用 原始值去更新数据库的 值 那不是等于没更新?
SqlDataAdapter sda = new SqlDataAdapter("select * from stumanage", conn);
sda有构造函数 查询语句 那么调用sda更新后就直接再次查询了? 新手有太多的疑问。 大家帮下忙哦!!
UPDATE
你那些参数都是整形??应该要用''引起来吧
一般都用
SqlDbType.Nvarchar
Update
{
string connString = "server=.\\SQLEXPRESS;database=stumanage;uid=sa;pwd=sa";
using (SqlConnection conn = new SqlConnection(connString))
{
string updataString = "update studentinfo set stu_class =@class where stu_name=@name";
SqlDataAdapter sda = new SqlDataAdapter("select * from studentinfo",conn);
SqlParameter par1 = new SqlParameter("@class", SqlDbType.NVarChar);
par1.SourceColumn = "stu_class";
par1.SourceVersion = DataRowVersion.Current;
SqlParameter par2 = new SqlParameter("@name", SqlDbType.NVarChar);
par2.SourceColumn = "stu_name";
par2.SourceVersion = DataRowVersion.Original;
SqlCommand cmd = new SqlCommand(updataString, conn);
cmd.Parameters.Add(par1);
cmd.Parameters.Add(par2);
sda.UpdateCommand = cmd;
sda.Update(dt,"student");
}
}怎么还是无法更新dataGridView啊? stu_class和 stu_name 都是nvarchar类型的大家跟我看看吧。 没分提问了
sda.Update(dt,"student");
不要这两句,换成:cmd.ExecuteNonQuery();
sc.CommandString="select * from user where name=@aaa";
sc.Parameters.Add("@aaa",SqlDataType.VarChar,20).Value="abc";
...用SqlAdapter也是一样的.