当前位置:编程学习 > C#/ASP.NET >>

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#程序

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,