C# 如何在提取SQL数据!内详
目前我运用的查询必须使用dataGridView1着个控件(把需要的数据通过SQL查询语句导入此控件内,然后用循环数组的形式调出该dataGridView1控件里面的数据)请问如何才能不使用该控件“dataGridView1”,直接把数据放入“textBox1”等此类控件内。
以下代码是我使用dataGridView1接收数据
public DataSet sqlcx(Getgly DA)
{
sql_lj.Open();
string SQLyj = "SELECT glyzh, glymm FROM Gly where id=1";
sqlzx = new SqlCommand(SQLyj,sql_lj);
SqlDataAdapter sqlcx_a = new SqlDataAdapter(sqlzx);
DataSet sqlcx_b = new DataSet();
sqlcx_a.Fill(sqlcx_b, "biao");
sql_lj.Close();
return sqlcx_b;
}
以下是我从dataGridView1此控件内利用循环数组的形式调出的数据并做出判断
private void button1_Click(object sender, EventArgs e)
{
if (glyzh_text.Text == "" || glymm_text.Text == "")
{
MessageBox.Show("账号或密码不能为空", "提示");
}
else
{
Getgly SJdy = new Getgly();
Sqlsj DA = new Sqlsj();
DataSet zhmxc = DA.sqlcx(SJdy);
data.DataSource = zhmxc.Tables[0];
if (data.Rows[0].Cells[0].Value.ToString() != glyzh_text.Text||data.Rows[0].Cells[1].Value.ToString()!=glymm_text.Text )
{
glyzh_text.Focus();
MessageBox.Show("帐号或密码错误","提示");
}
else
{
Program.fh = 1;
this.Close();
}
}
}
1,需要如何连接数据库调出数据。
2,然后如何使用textBox1此类控件接受数据。
3,我需要的是代码+注解!
麻烦做一个简单的例子!谢谢 做的好追加分!
补充:这样吧 我看大家没理解我的意思,你们不要以我的代码改了 你只需要做一个演示:在SQL数据层 查询SQL数据库的一个值 然后怎么把这个值调到控件里面去 麻烦用三层模式的形式来做一下 做得越简单越好,别太复杂了!
还是代码加注解 谢谢!
答案:一般都是通过数据仿问层访问数据库,然后将取出的数据封装到对应的模型类对象。比如说:SELECT glyzh, glymm FROM Gly ";
对应的实体类是User
查出来的是包含很多条记录的结果集。SqlDataReader reader=cmd.ExecuteReader();
List list=new List();
while(reader.Read())
{
User user=new User();
user.glyzh=reader.GetString("glyzh");
user.glymm =reader.GetString("glymm ");
list.Add(user);
}
实现将查询出的信息封装到对象中。然后方法返回集合对象。在需要用到的地方调用方法返回数据就可以了。
然后从对象中取需要的数据。
你是想通过SqlAdapater的fill方法填充DataSet?填充进DataSet后用一个for循环遍历DataSet里的DataRows就可以了;大致代码如下:
for(int i=0;i{
textbox.text=DataRows[i]["列名"];
}
如果有疑问可以加Q问我 !
public DataSet sqlcx(Getgly DA) { sql_lj.Open(); string SQLyj = "SELECT glyzh, glymm FROM Gly where id=1"; //指每次取一行数据,用datagridview绑定太累赘,改用textbox绑定? sqlzx = new SqlCommand(SQLyj,sql_lj); SqlDataAdapter sqlcx_a = new SqlDataAdapter(sqlzx); DataSet sqlcx_b = new DataSet(); sqlcx_a.Fill(sqlcx_b, "biao"); sql_lj.Close(); return sqlcx_b; }
通过学号 查询 学生表中的数据, 将姓名和性别分别填充到文本框中。。。
//UI界面
//模型层:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MODAL
{
public class login
{
private int _id;
public int m_Id
{
get { return _id; }
set { _id = value; }
}
}
}
//数据层:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace DAL
{
public class login
{
///
/// 数据层(DAL) 连接数据库, 将查询到的数据填充到DataTable dt中
///
/// "myObj" 是模型层(MODAL)的名称
///
public DataTable userLogin(MODAL.login myObj)
{
using (SqlConnection con = new SqlConnection("server=.;database=db_job;uid=sa;pwd=sa;"))
{
con.Open();
string strSql=string.Format("select * from 学生表 where 学号={0}",myObj.m_Id);
SqlCommand cmd=new SqlCommand(strSql,con); //此处根据 "myObj" 中传来的 "学号(m_Id)" 查询 学生表 中的数据
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt); // 填充 DataTable
return dt;
}
}
}
}
//逻辑层:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace BLL
{
public class login
{
///
/// 逻辑层(BLL) 调用 数据层(DAL) 中的方法
///
///
///
public DataTable userLogin(MODAL.login myObj)
{
return new DAL.login().userLogin(myObj);
}
}
}
//用户层
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;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
///
/// 用户层 通过点击按钮,查询数据
///
///
///
private void button1_Click(object sender, EventArgs e)
{
MODAL.login mlObj = new MODAL.login();
mlObj.m_Id = Convert.ToInt32(this.txt_ID.Text); //将 学号(txt_ID.Text) 赋给模型层中的 m_Id(学号)
BLL.login blObj = new BLL.login();
DataTable dt = blObj.userLogin(mlObj); // 调用逻辑层(BLL)中的方法,用DATATABLE接收
this.txt_NAME.Text = dt.Rows[0][1].ToString(); //将姓名传到 txt_NAMW 文本框中
this.txt_SEX.Text = dt.Rows[0][2].ToString(); //同理
}
}
}
上一个:C# windows 编程 多选按钮的实现
下一个:用什么工具来编写C#程序