我才接触c#不久,现在是一边实习工作一边在学习,有很多挺简单但我不懂的地方,比如现在这个问题
一个项目,做了一个winform界面,然后要连数据库从里面查找数据,可是我不知道怎么查找,查找数据库的代码我已经写完了,那我应该把这代码放在什么地方呢,或者说是放在什么事件里呢,这个我不明白,希望清楚的能给我讲下,再你们看来可能挺简单的问题,但对现在的我来说就是不明白...
一个项目,做了一个winform界面,然后要连数据库从里面查找数据,可是我不知道怎么查找,查找数据库的代码我已经写完了,那我应该把这代码放在什么地方呢,或者说是放在什么事件里呢,这个我不明白,希望清楚的能给我讲下,再你们看来可能挺简单的问题,但对现在的我来说就是不明白...
FORM1窗体中放一button1,datagridview1
button1事件中
SqlConnection connection=new SqlConnection("server=.;database=数据库;user id=sa;password=sa");
SqlCommand select=new SqlCommand(select * from 表名);
SqlDataAdapter adapter=new SqlDataAdapter();
adapter.SelectCommand=select;
DataSet ds=new DataSet();
adater.Fill(ds);
dataGridView1.DataSource=ds.table[0];
就会在datagridview中显示数据表中记录了
刚才代码没贴好, 再发一遍: private DataTable GetData()
{
DataTable dtData = new DataTable();
using (SqlConnection thisConnection = new SqlConnection(
@"Data Source=HUI\SQLSERVER;Initial Catalog=Northwind;Integrated Security=True")) //你的连接语句
{
using (SqlDataAdapter thisAdapter = new SqlDataAdapter(
"SELECT * FROM Customers", thisConnection)) //你的SQL语句
{
thisAdapter.Fill(dtData);
}
thisConnection.Close();
}
return dtData;
}
private void Form1_Load(object sender, EventArgs e) //窗体的Load单击事件
{
//dataGridView1为你的DataGridView控件
this.dataGridView1.DataSource = GetData().DefaultView;
}
首先你在Form1_load(sender,e)
{
timer1.Interval = 1000;//1000毫秒
timer1.Start();
}
然后在private void timer1_Tick(object sender, EventArgs e)
{
//调用查询数据库的语句
}
呵呵 每个多少时间重复查询就是了
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.OracleClient;/// <summary>
/// Class1 的摘要说明
/// </summary> public class db
{
public db()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private string m_strConnString;
private SqlConnection m_connConnection1;
private OracleConnection m_connConnection;
//open sqlserver
public void Open(string strDataSource, string strInitialCatalog, string strUserID, string strPwd)//LKY(服务器名)192.168.0.211,数据库名trace,用户名wisefly,密码wisefly
{
m_strConnString = "Data Source=" + strDataSource + ";Initial Catalog=" + strInitialCatalog + ";User ID=" + strUserID + ";Password=" + strPwd;
m_connConnection1 = new SqlConnection(m_strConnString);
m_connConnection1.Open();
}
//open oracle
public void OpenOracle()
{
string ConnectionString = "Data Source=fengshen;user=system;password=manager;";//写连接串
m_connConnection = new OracleConnection(ConnectionString);//创建一个新连接实例
try
{
m_connConnection.Open();//打开连接
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.WriteLine("连接完毕");
}
} public OracleDataReader GetDataReader(string strCommandString)//用户DataReader读取数据
{
OracleCommand cmdCommand = new OracleCommand(strCommandString, m_connConnection);//创建Command对象
OracleDataReader drDataReader = cmdCommand.ExecuteReader();
//notice: drDataReader没有close
return drDataReader;
} public int ExecuteSQL(string strCommandString)//执行sql语句,返回执行条数
{
OracleCommand cmdCommand = new OracleCommand(strCommandString, m_connConnection);
int nAffected = cmdCommand.ExecuteNonQuery();
return nAffected;
} public void Close()
{
m_connConnection.Close();
} public DataSet GetDataSet(string strCommandString, string strTableName)//取得数据集
{
OracleCommand cmdCommand = new OracleCommand(strCommandString, m_connConnection);//创建Command对象 OracleDataAdapter adAdapter = new OracleDataAdapter();
adAdapter.SelectCommand = new OracleCommand(strCommandString, m_connConnection); DataSet dsDataSet = new DataSet();
adAdapter.Fill(dsDataSet, strTableName); return dsDataSet;
} public DataView GetDataView(string strCommandString, string strTableName)//取得数据视图
{
DataSet dsDataSet = this.GetDataSet(strCommandString, strTableName);
return new DataView(dsDataSet.Tables[strTableName]);
}
}
1.查询按钮
2.form的load事件中用于第一次加载数据
3.各种控件的事件中,比如text的focus事件等等。
具体用到数据连接的地方看情况而定。不一定是非要写到load事件中。