偶的操作数据库的类
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace 网上选课系统
{
class DatabaseLink
{
//连接字符串
private string LinkStr = "Data Source=202.207.177.172,1433;Database = studentclass;User ID = 'sa';Password = 'sa';";
private SqlConnection MyCon;
private DataSet MySet; //--------------断开式访问,查询数据(sql语句,表名)---------
public DataSet selectdatabase(string constr, string tablename)
{
MySet = new DataSet();
MySet.Clear();
MyCon = new SqlConnection(LinkStr);
SqlDataAdapter Myadapter = new SqlDataAdapter(constr, MyCon); try
{
Myadapter.Fill(MySet, tablename);
return MySet;
}
catch
{
return null;
}
finally
{
MyCon.Dispose();
Myadapter.Dispose();
}
} //-------------直接查询数据(sql语句)-------------
public DataTable selectdatabase(string constr)
{
MyCon = new SqlConnection(LinkStr);
MySet = new DataSet();
//MySet.Clear();
SqlDataAdapter MyAdapter = new SqlDataAdapter(constr,MyCon); try
{
MyAdapter.Fill(MySet);
return MySet.Tables[0];
}
catch
{
return null;
}
finally
{
MyCon.Dispose();
MyAdapter.Dispose();
}
}
}
}函数使用
private void FillTreeView()
{
string SelStr = "SELECT DepartmentID, DepartmentName FROM Department";
MyTable = MyLink.selectdatabase(SelStr);
int count = MyTable.Rows.Count;
if (count > 0)
{
for (int i = 0; i < count; i++)
{
string DepartmentID = MyTable.Rows[i]["DepartmentID"].ToString();
string NodeName = MyTable.Rows[i]["DepartmentName"].ToString();
TreeNode MyNode = new TreeNode(NodeName);
this.treeView1.Nodes.Add(MyNode);
AddTreeViewNode(MyNode,DepartmentID);
}
}
}
提示我说表里面没有列DepartmentID
我单步调试 发现MyTable的维数是0
请问大家这是什么情况 谢谢!
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace 网上选课系统
{
class DatabaseLink
{
//连接字符串
private string LinkStr = "Data Source=202.207.177.172,1433;Database = studentclass;User ID = 'sa';Password = 'sa';";
private SqlConnection MyCon;
private DataSet MySet; //--------------断开式访问,查询数据(sql语句,表名)---------
public DataSet selectdatabase(string constr, string tablename)
{
MySet = new DataSet();
MySet.Clear();
MyCon = new SqlConnection(LinkStr);
SqlDataAdapter Myadapter = new SqlDataAdapter(constr, MyCon); try
{
Myadapter.Fill(MySet, tablename);
return MySet;
}
catch
{
return null;
}
finally
{
MyCon.Dispose();
Myadapter.Dispose();
}
} //-------------直接查询数据(sql语句)-------------
public DataTable selectdatabase(string constr)
{
MyCon = new SqlConnection(LinkStr);
MySet = new DataSet();
//MySet.Clear();
SqlDataAdapter MyAdapter = new SqlDataAdapter(constr,MyCon); try
{
MyAdapter.Fill(MySet);
return MySet.Tables[0];
}
catch
{
return null;
}
finally
{
MyCon.Dispose();
MyAdapter.Dispose();
}
}
}
}函数使用
private void FillTreeView()
{
string SelStr = "SELECT DepartmentID, DepartmentName FROM Department";
MyTable = MyLink.selectdatabase(SelStr);
int count = MyTable.Rows.Count;
if (count > 0)
{
for (int i = 0; i < count; i++)
{
string DepartmentID = MyTable.Rows[i]["DepartmentID"].ToString();
string NodeName = MyTable.Rows[i]["DepartmentName"].ToString();
TreeNode MyNode = new TreeNode(NodeName);
this.treeView1.Nodes.Add(MyNode);
AddTreeViewNode(MyNode,DepartmentID);
}
}
}
提示我说表里面没有列DepartmentID
我单步调试 发现MyTable的维数是0
请问大家这是什么情况 谢谢!
private string LinkStr = "Data Source=202.207.177.172,1433;Database = studentclass;User ID = sa;Password = sa";试试..
1.我用的本地数据库,所以将连接字符串改了下,如下:
//连接字符串
private string LinkStr = "Data Source=.;Database = student;User ID = 'sa';Password = '0421';";2.我在界面上放了一个DataGridView,从数据库中取出数据,然后绑定到DataGridView,测试代码如下:
按钮单击事件下实现绑定:
private void button1_Click(object sender, EventArgs e)
{
DatabaseLink myLink = new DatabaseLink();
string SelStr = "select * from studentDetails";
DataTable dt = new DataTable();
dt = myLink.selectdatabase(SelStr);
this.dataGridView1.DataSource = dt;
}测试成功,可以成功取到数据...
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;namespace TestDataBase
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
DatabaseLink myLink = new DatabaseLink();
string SelStr = "select * from studentDetails";
DataTable dt = new DataTable();
dt = myLink.selectdatabase(SelStr);
this.dataGridView1.DataSource = dt;
}
}
class DatabaseLink
{
//连接字符串
private string LinkStr = "Data Source=.;Database = student;User ID = 'sa';Password = '0421';";
private SqlConnection MyCon;
private DataSet MySet; //--------------断开式访问,查询数据(sql语句,表名)---------
public DataSet selectdatabase(string constr, string tablename)
{
MySet = new DataSet();
MySet.Clear();
MyCon = new SqlConnection(LinkStr);
SqlDataAdapter Myadapter = new SqlDataAdapter(constr, MyCon); try
{
Myadapter.Fill(MySet, tablename);
return MySet;
}
catch
{
return null;
}
finally
{
MyCon.Dispose();
Myadapter.Dispose();
}
} //-------------直接查询数据(sql语句)-------------
public DataTable selectdatabase(string constr)
{
MyCon = new SqlConnection(LinkStr);
MySet = new DataSet();
//MySet.Clear();
SqlDataAdapter MyAdapter = new SqlDataAdapter(constr,MyCon); try
{
MyAdapter.Fill(MySet);
return MySet.Tables[0];
}
catch
{
return null;
}
finally
{
MyCon.Dispose();
MyAdapter.Dispose();
}
}
}
}
MyTable = MyLink.selectdatabase(SelStr);
int count = MyTable.Rows.Count;
1.检查数据库连接是否有问题..2.是否有这个表,表中是否有这些字段..
{
string SelStr = "SELECT DepartmentID, DepartmentName FROM Department";
MyTable = MyLink.selectdatabase(SelStr);
DataView Myview = new DataView(MyTable);
int count = Myview.Count;
if (count > 0)
{
foreach(DataRowView MyRow in Myview)
{
int DepartmentID = Int32.Parse(MyRow["DepartmentID"].ToString());
string NodeName = MyRow["DepartmentName"].ToString();
TreeNode MyNode = new TreeNode(NodeName);
this.treeView1.Nodes.Add(MyNode);
AddTreeViewNode(MyNode,DepartmentID);
}
}
}
偶 这样修改 发现 可以实现
MyTable = MyLink.selectdatabase(SelStr);
int count = MyTable.Rows.Count;