❶ 用c#代码在windows窗体上更新、查询绑定的sql数据库
#region LoadData方法
private void LoadData()
{
string connStr = CommConnect.ConnStr ();
SqlConnection conn = new SqlConnection(connStr);
string sql = "select * from PosList";
SqlDataAdapter ada = new SqlDataAdapter(sql,conn );
DataTable table = new DataTable();
ada.Fill(table);
dataGridView1.DataSource = table;
}
#endregion
#region 更新数据
private void button2_Click(object sender, EventArgs e)
{
string connStr = "Data Source\\SQLEXPRESS;database=Student management system;uid=sa;pwd=1234;"
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = "你自己的update语句'";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandText = sql;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
conn.Close();
LoadData();
}
#endregion
查询的话就要看你具体是要查哪个表,我给你一个示例:
#region 查询数据
private void button17_Click(object sender, EventArgs e)
{
string connStr = "Data Source\\SQLEXPRESS;database=Student management system;uid=sa;pwd=1234;"
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = "select * from表名";
SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
DataTable tb = new DataTable();
ada.Fill(tb);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = tb;
}
#endregion
❷ C#窗体登录sql数据库
很简单:
比如你在窗体上有三个textbox ,在TextBox1中输入数据库用户名,在TextBox2中输入用户名,在TextBox3中输入密码。还有一个button 控件。点击button登录。以下是代码:
protected void Button1_Click(object sender, EventArgs e)
{
string sqlstr = "Data Source='在这里写服务器名称';Initial Catalog="+TextBox1.Text.Trim()+";UID="+TextBox2.Text.Trim()+" ;pwd="+TextBox3.Text.Trim();
SqlConnection con = new SqlConnection(sqlstr);
try
{
con.Open();
MessageBox.Show("登录成功");
}
catch (SqlException ex)
{
MessageBox.Show("登录失败!其它信息:"+ex.ToString());
}
con.Close();
}
❸ 请问各位前辈:你们是如何用控件连接SQL数据库的
把ADOConnection控件和ADODataSet控件放在窗体上双击ADOConnection连接SQL
Server数据库然后把ADODataSet的Connect属性设置为ADOConnectionCommandText设置为你要的SQL语句Active属性设置为true如果你想在窗体上显示出来的话还需要DataSource控件和DBGrid控件
❹ VS2005 C#做了个窗体应用程序,怎样将C#程序连接到SQLServer2005建立的数据库
网上找一些就是啦。。很简单的。。看你是什么数据库了。不过都差不多。
先用SqlConnection建个连接
然后创建SqlCommand对象
利用 SqlDataReader 来读取数据
Connection是连接,用来连接上数据库服务器或者数据库文件打开一个数据查询通道
Command是命令,用来执行Tsql语句或者存储过程,可以建立查询参数,防止SQL注入
DataReader是一个只读向前的快速读取器,用来读取Command查询出的数据,供你显示或使用
OLEDB可以用在Access等数据库上,SQl可以用在MS Sql Server数据库上
DataSet是内存中的多个数据表的集合,包含数据结构,数据和数据关系,可以进行离线操作,然后在线更新
建立个条件查询:
用Command对象
Sqlcommand cmd = new Sqlcommand("select * from users where name = @name)
cmd.parameter.addwithvalue("name",request["name"]);
SQL语句中的@name就是一个参数替换点,用cmd.parameter.addwithvalue将查询用的条件值代入查询语句就行了...
BindingSource是介于可绑定控件和数据源(DataSet、适配器,DataTable,Reader等)之间的中介控件,是从查询到绑定之间的连接器
简单的实例
string strCon = "Server=" + strServer + ";Database=master; uid=" + strUser + ";pwd=" + strPwd + ";port=" + strPort;
SqlConnection conn = new SqlConnection(strCon);
string sql="select name from master..sysdatabases",;
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
da.Fill(ds);
如果是access的话string strCon= @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + HttpContext.Current.Server.MapPath("../testDB/db/db.mdb");
然后读取dt中的值就可以进行判断了!
sql 语句你可以根据需要进行修改
❺ Access2007窗体输条件查数据
要将窗体中非绑定文本框输入的数据插入数据表中比绑定控件的方法要灵活得多,但是对于一个数据库及其应用程序编程初学者来说这绝非一件易事,因为其中涉及的相关知识和细节很多不太容易弄清楚,稍有不慎就会出错!这常常会让不少初学者们感到沮丧。现在手把手一一道来。
首先我们来分析一下你贴出的SQL代码,这是一个在INSERT INTO 语句中直接引用窗体控件的SQL代码,其思路是对的,但是有一点小毛病,结尾括号前多了一个逗号,应予以删除。另外,该语句未指定字段名称,这种情况下就必须在后面的values()内指定全部参数值,而且顺序不能搞错,否则语句运行时会报错。建议修改如下:
INSERT INTO 购票信息登记表 (字段1,字段2,字段3,字段4,字段5)
values ([forms]![购票登记信息界面]![Text0] ,
[forms]![购票登记信息界面]![Text2] ,
[forms]![购票登记信息界面]![Text4] ,
[forms]![购票登记信息界面]![Text6] ,
[forms]![购票登记信息界面]![Text8] )
特别说明一下,这种在SQL语句中直接引用窗体控件的写法只能应用于ACCESS窗体属性、控件属性和ACCESS查询对象中(用编程的方法设置为相应的控件值也行),其它情况下ACCESS数据库JET引擎无法识别。如果你要在ACCESS窗体点击某个按钮运行上述SQL代码,可以这样做,先将上述直接引用控件的SQL代码保存为一个操作查询,取名“插入购票信息”,在该按钮的单击事件过程里用DoCmd对象的OpenQuery方法运行该查询即可,
具体写法为:DoCmd.OpenQuery "插入购票信息"
这里强调一下,即使操作查询的SQL代码完全正确也不能保证其可以正确运行,我们还要充分考虑插入数据的类型、数据完整性、有效性规则、是否允许空值、不能向自动ID字段插入数据和是否唯一索引等诸多因素,否则出错在所难免。
为了便于理解,下面给出一个在ACCESS窗体中将非绑定文本框中输入数据插入数据表的实例供参考,请仔细阅读相关代码和注释,这对提高你的ACCESS水平非常有用。
编写实例前先假设购票信息登记表结构如下:
购票ID(文本,无重复,必填字段)
票名称(文本,允许重复,必填字段)
数量(长整型数字,允许重复,必填字段)
购票日期(时间日期,允许重复,必填字段)
备注(文本,允许重复,非必填字段)
在窗体中一般推荐使用非直接引用窗体控件(常规)的SQL代码,事实上JET引擎是无法直接识别窗体控件的。上列直接引用窗体控件的SQL代码之所以可以运行,其实ACCESS系统在背后进行自动转换将控件上的具体数值告诉了JET引擎所致,当然其能应用的场所是有限制的(具体见上面所述)。
由于实例中要使用常规的INSERT INTO语句,现就插入一条记录的语法作简要说明。
INSERT INTO 目标表(字段1,字段1,字段3,...) VALUES(数据值1,数据值1,数据值1,...)
说明:插入的字段和插入的数据值须一一对应,不能多也不能少,数据类型要匹配或者兼容;数据值为文本的须用单引号括住,数据值为日期时要用一对#号括住,这些数据值必须是一个个具体的值而不能是对控件的引用。
设计将Text0中的值插入“购票ID”字段、Text2中的值插入“票名称”字段、Text4中的值插入“数量”字段、Text6中的值插入“购票日期”字段、Text8中的值插入“备注”字段,添加一个命令按钮[Command1],当点击该按钮后对应控件中的资料随即写入购票信息登记表。
我们在向数据表插入记录时不能随意就将一些数据写入相应的字段里,而必须遵循一定的规则,不然表中的数据就不能被有效利用,甚至完全不可利用,数据库也就失去了存在的价值。例如在“数量”的对应控件[Text4]输入“7B”,又或者在“购票日期”的对应控件[Text6]输入“2011-13-21”那么将这样的数据写入数据表显然是不妥当,为了避免这种情况的发生,我们可以手动设置[Text4]的“格式”属性为“常规数字”,[Text4]的“格式”属性为“长日期”这样当不小心输入错误数据时系统就会拒绝并予以提示。
现在给出具体代码如下:
为COMMAND1添加下列单击事件过程
Private Sub Command1_Click()
Dim strSql as String ‘为合成INSERT INTO 语句声明一个字符串型变量
If IsNull(Me!Text0) Then '如果Text0为空
MsgBox "请输入购票ID", , "提示" '弹出提示框
Me!Text0.SetFocus '焦点移至Text0
Exit Sub '终止SUB过程
ElseIf DLookup("[购票ID]", "购票信息登记表", "[购票ID]=[Forms]![购票登记信息界面]![Text0]")= Me.Text0 Then
'利用DLookup函数查找[Text0]输入的值是否已存在于表中,以避免输入重复值
MsgBox "购票ID已用,请更换", , "提示"
Me!Text0.SetFocus
Exit Sub
ElseIf IsNull(Me!Text2) Then '如果Text2为空
MsgBox "请输入票名称", , "提示"
Me!Text2.SetFocus
Exit Sub
ElseIf IsNull(Me!Text4) Then
❻ treeview控件与sql server 2008数据库间的数据绑定
给你个思路~
在第一步中输入类别编码和名称之后 进行保存到数据库
左边的Treeview控件应该显示数据库中的东西(废话!), 我的意思是你每次添加后都重新加载一次Treeview控件。
怎么加载就是读取数据后逐个添加进去,
你就id name 2个字段肯定是不够的, id对应类别编号, name对应类别名称(不知道对不对?), 至少还要一个此类别属于哪一个大类吧?比如下面的
school class id name 这样的一个简单学生表就有层次了, 用Treeview控件加载就比较合适。
用For循环动态加载即可。
❼ 怎么让vs 窗体中的textbook控件和sql server的数据库表中的字段绑定起来
textbox?
如果用vs的话很简单。
属性-〉数据-〉Databindings->advanced打开一个对话框。然后建立或选择数据源。后面都是可视化操作,自己看看就知道了。
❽ 在C#中怎么把SQL数据库中查询的结果以表格的形式显示到Windows窗体上,我添加了一个DataGridView控件,
首先最下面的FrmMain_Load(...)是载入窗体时的初始化
先new一个publicclass()对象
接下来调用此对象的GetDataSet()方法
来看GetDataSet()方法
新建一个DataSet,用来存放从数据库获得的记录,Dataset可以在关闭数据库连接后使用;
Sqldataadapter,从名字上看适配器的意识,类是我们用的笔记本的交流电适配器,充当一个中间角色,读取数据库中的数据进行一些处理,把它可以存入到dataset中,da.fill()方法就是把数据填充到dataset中,后面的是异常处理,然后关闭必要的连接,把得到的dataset数据返回。
上面的getDataRow()方法跟getdataset差不多他只是返回dataset中的第一个表格的第一行数据,dataset中的数据都是以集的形式存在的,可以看成表。
再回到load()函数,判断dataset中第一个结果集的行数是否大于0,也就相当于里面有没有数据,有的话把它显示到datagridview中
中间还有一个ExecuteSQL()方法,新建一个连接,打开,执行Sqlcommand,
用 cmd.ExecuteNonQuery();但是你写的sql命令式select,返回结果的,要用SqlDataReader read=cmd.ExecuteReader();
然后根据sqldatareader就可以读取里面的信息,这跟上面的采用dataset是另一种方法,根据你的需要选择。
至于根据连接字符串连接数据库的原理,这个是驱动程序的工作,我们无法知道,一种技术,微软不会告诉你的。
至于修改更新,一种方法直接使用update或则delete的sql语句,然后执行ExecuteNonQuery()或则相应的方法,还有一种就是用dataset,首先读入一些数据,形成一张“表 ”记录,你可以直接把它看成是二维数组,把要改的数据赋给n行m列的单元格,如set.table[0].rows[n][m]="xxx";赋值完后还要执行sqlDataadApter实例的update()方法,
!!!!注意在做这些之前还要新建一个SqlCommandBuilder类的实例
如SqlCommandBuilder build=new SqlCommandBuilder(adapter)//以SqlDataAdapter的实例作为参数,这样基本的更新删去就搞定了,希望对你有所帮助,我也正在学习当中...
❾ SQL 的LIKE 语句用窗体控件做变量的语句怎么写
你先在sql语句外把窗体变量处理好,赋值给某变量,然后把该变量应用在sql语句中试试
❿ 我在窗体中 放置一个 dataGridView控件 连接SQL server2005 报错!
dataGridView1没有数据或选择的行为空。加个判断:
int delstudentID = 0;
if(dataGridView1.selectedRows.Count>0)
delstudentID=int.parse(dataGridView1.selectedRows[0].cell[0].value.tostring());
else
MessageBox.show("未选择任何行!");