help,参数传递出错!!!

muzili 2003-09-14 06:00:59
先定义了一个类
public class Archives
{
public void AddArchives( ArrayList tempary)
……
}


在另一个类的成员函数中定义了
Archives archives;
ArrayList tempArray = new ArrayList();
然后tempArray.Add……

然后archives.AddArchives(tempArray);
这里总是出错,提示:未将对象引用设置到对象的实例。
怎么回事??
...全文
40 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyee 2003-09-14
  • 打赏
  • 举报
回复
string strDate = Convert.ToDateTime(txtDate.Text).ToShortTimeString();
popcorn 2003-09-14
  • 打赏
  • 举报
回复
先要把字符串转化为DateTime类型,然后再转化为smallDatetime
DateTime.parse(sDate).ToString("yyyy-MM-dd")
jjcccc 2003-09-14
  • 打赏
  • 举报
回复
System.DateTime.Now.ToShortTimeString();

or

System.DateTime.Now.ToString("hh:mm:ss");
muzili 2003-09-14
  • 打赏
  • 举报
回复
还有个问题啊,我输入的时间字符串怎样转换成smallDatetime类型?
cnlamar 2003-09-14
  • 打赏
  • 举报
回复
赞成王子的说法,对象在if内部建立,外如如何用
muzili 2003-09-14
  • 打赏
  • 举报
回复
ok了,
jjcccc() :为什么放在pageload里面就不行呢?
panyee 2003-09-14
  • 打赏
  • 举报
回复
主要还是这错了:

if(!Page.IsPostBack)
{
archives = new Archives();
...

这样只有第一次执行可以, 在点按钮后,, 并不走这条实例化的过程


要把archives = new Archives();搬到if(!Page.IsPostBack)外面
jjcccc 2003-09-14
  • 打赏
  • 举报
回复
web是不保存状态的,每一次回发都是一个新的页面示例。在你程序中,只要你btnSubmmit按钮一click,你的archives就又变成null了。
jjcccc 2003-09-14
  • 打赏
  • 举报
回复
web是不保存状态的,每一次回发都是一个新的页面示例。在你程序中,只要你btnSubmmit按钮一click,你的archives就又变成nill了。
jjcccc 2003-09-14
  • 打赏
  • 举报
回复
把archives = new Archives();放到private void btnSubmit_Click(object sender, System.EventArgs e)
里。
muzili 2003-09-14
  • 打赏
  • 举报
回复
namespace ArchivesManager
{
public class Archives:Base
{
public Archives()
{
}
public void AddArchives( ArrayList tempary)
{
SqlConnection myCn=new SqlConnection(strConn);
SqlCommand myCm=new SqlCommand("AddArchives",myCn);
myCm.CommandType =CommandType.StoredProcedure ;

myCm.Parameters.Add
……

try
{
myCn.Open() ;
myCm.ExecuteNonQuery() ;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
finally
{
myCm.Dispose() ;
myCn.Close() ;
}
}
}
}

namespace ArchivesManager
{
public class WebForm1 : System.Web.UI.Page
{
Archives archives;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
archives = new Archives();
int ArchivesNum = archives.GetTotal() + 100001;
txtArchivesNum.Text = ArchivesNum.ToString();
}
}
private void btnSubmit_Click(object sender, System.EventArgs e)
{
ArrayList tempArray;
tempArray = new ArrayList();

try
{
tempArray.Add
……
archives.AddArchives(tempArray);//程序到这里就报错:未将对象引用设置到对象的实例。然后就不执行了
}
catch(Exception er)
{
throw new Exception(er.Message);
}

}
}
}
jjcccc 2003-09-14
  • 打赏
  • 举报
回复
Archives archives = new Archives();
以后,再传入参数应该没错,要错就是AddArchives方法内有错,贴出来看看?
muzili 2003-09-14
  • 打赏
  • 举报
回复
加了那句也不对啊,错误依旧
popcorn 2003-09-14
  • 打赏
  • 举报
回复
是否是要NEW一下?
Archives archives=new Archives();
panyee 2003-09-14
  • 打赏
  • 举报
回复
Archives archives = new Archives();

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧