![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
c#中写好了一个类怎么调用,大神请进啊!
要在c#中导出数据库数据。在网上找的代码,写了一个类,然后调用。我第一次在c#中用,不知道怎么调用我写好了那个类。求指点啊。我想要的效果是:点击window窗体的一个按钮...
要在c#中导出数据库数据。在网上找的代码,写了一个类,然后调用。我第一次在c#中用,不知道怎么调用我写好了那个类。求指点啊。
我想要的效果是:点击window窗体的一个按钮,然后就可以讲某张表导出来。求指点。
附上我找代码的网址:http://blog.csdn.net/yysyangyangyangshan/article/details/7067370
将自己的全部代码贴出来了,望大神仔细看看。现在报错是 未将对象引用设置到对象的实例。希望大神看一下能够告诉我怎么改啊!拜托了。。。 展开
我想要的效果是:点击window窗体的一个按钮,然后就可以讲某张表导出来。求指点。
附上我找代码的网址:http://blog.csdn.net/yysyangyangyangshan/article/details/7067370
将自己的全部代码贴出来了,望大神仔细看看。现在报错是 未将对象引用设置到对象的实例。希望大神看一下能够告诉我怎么改啊!拜托了。。。 展开
11个回答
展开全部
Class是类名,void修饰的是方法体,类型名+方法体 是返回值,中间要用到return逻辑。参数你要对应填写
你要是用类就要这么写
类名 自己取实例名 = new 类名();
自己取的实例名.方法体(参数); //无返回值的操作
变量 = 自己取的实例名.返回值(参数1,参数2); //有返回值的操作
我举个例子,比如现在我要在20个窗体里都加上一个窗体淡入淡出效果,没道理每一个都在里面去写初始化函数,那是做蠢事,只可能写一个类:
class pervade
{
[DllImport("user32.dll")]
private static extern bool AnimateWindow(IntPtr hwnd, int DreamweaverTime, int DreamweaverFlags);
const int AW_BLEND = 0x80000;
const int AW_VER_POSITIVE = 0x0004;
const int AW_HIDE = 0x10000;
public void IntelizeForm(Form form)
{
AnimateWindow(form.Handle, 2000, AW_BLEND);
}
}
上面的 代码意思就是2秒淡入淡出窗体,我们每个窗体引用的时候直接这样:
public 窗体名()
{
InitializeComponent();
pervade p=new pervade();
p.IntelizeForm(this);
}
这样就足够了,再比方说我要判断数据库登录用户是否有权限登录窗体:
public Boolean QuanXian(String LabName,String userId,String userPassword)
{
link S = new link();
S.linkdata("Select * from user_Rule where userid='"+userId+"' and userpwd='"+userPassword+"' and frameName='"+LabName+"'");
if (S.ds.Tables[0].Rows.Count > 0)
{
if (S.ds.Tables[0].Rows[0]["frame_rule"].ToString() != "1")
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
//我这里是引用三层结构代码 link类里面写数据库函数 linkdata(String Sql);
那么我们在窗体中进入新窗体就这么写:
类名 s=new 类名();
if(s.QuanXian(窗体名,用户名,密码)==true)
{
//...登录窗体
}
else
{
//...提示没有权限
}
你上面的类文件都写得很明白,直接用就好了
展开全部
这么基本的问题啊。。。如果不想好好去学习,建议你放弃自己动手,找个人帮你搞定就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
未将对象引用设置到对象的实例 就是你定义的函数需要 new一次,然后再用 你定义的其实是个类应该,我没看你的代码,你写出的错误就是这个原因,没实例化,new一次就实例化了 函数名 参数 =new 函数名 参数.方法()即可执行
追问
还望大神能够看下代码,帮忙找一下吧。可能是自己走到思维误区了,找了很多次了都没有找到。
追答
public static void DataSetToExcel()
把你定义的函数写成这样的看看
你定义的那个不是函数,而是个类
你要先了解一下 类 属性 方法,这样对你解决以后的问题有好处的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-27
展开全部
导入你所创建的类的名称空间,再申明该类的对象,执行对象的方法就OK呀。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataBaseHelper dbhelper=New DataBaseHelper();
String constring=...; //打开数据库的连接字符串
String sql=...; //sql查询语句
DataTable dt=dbhelper.ExecuterQuery(constring,sql);
DataChangeExcel dce = New DataChangeExcel();
dce.DataSetToExcel(dt,"d:\1.xls");
String constring=...; //打开数据库的连接字符串
String sql=...; //sql查询语句
DataTable dt=dbhelper.ExecuterQuery(constring,sql);
DataChangeExcel dce = New DataChangeExcel();
dce.DataSetToExcel(dt,"d:\1.xls");
追问
这个直接写在button下面么?还是怎么弄?
这一句话是那个网站上给出的调用
DataChangeExcel.DataSetToExcel(DataBaseDao.GetDataBaseTable(),
@"F:\outputFormDataBase.xls");
望大神详细回复啊!拜托了!
追答
是写在button下面。用网站给的调用也是可以的,它将数据库连接及sql查询写在DataBaseDao类里面了。
你按我写的那个调用吧,不会出现未将对象引用设置到对象的实例。
或者你改成 (new DataChangeExcel()).DataSetToExcel((new DataBaseDao()).GetDataBaseTable(), @"F:\outputFormDataBase.xls");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |