여기에서 문제가 발생했습니다. 희망 하시겠습니까? D무효 데이터 집합, 이유는 무엇입니까?
내가 만드는 소프트웨어는 간단한 영화 정보를 관리합니다.이 양식은 특정 영화의 데이터를 편집해야합니다. 아래 코드를 통해 양식은 DB에서 수집 한 데이터로 채워집니다. ("영화"는 분명히 선언 된 데이터 세트입니다).
public short popolaModificaFilm(string titolo, ref TextBox txtAnno, ref TextBox txtCast, ref TextBox txtDurata, ref TextBox txtLocandina, ref TextBox txtRegista, ref TextBox txtTitolo, ref TextBox txtTrailer, ref TextBox txtTrama, ref ComboBox cmbGenere, ref ComboBox cmbNaz, ref CheckBox chkPellicola, ref CheckBox chkDigitale, ref CheckBox chk3d)
{
service.ricercaFilm(titolo).CopyToDataTable(cinema.film, LoadOption.PreserveChanges);
dsCinema.filmRow film = cinema.film[0];
txtAnno.Text = film["anno"].ToString().Trim();
txtCast.Text = film["cast"].ToString().Trim();
txtDurata.Text = film["durata"].ToString().Trim();
txtLocandina.Text = film["locandina"].ToString().Trim();
txtRegista.Text = film["regista"].ToString().Trim();
txtTitolo.Text = film["titolo"].ToString().Trim();
txtTrailer.Text = film["trailer"].ToString().Trim();
txtTrama.Text = film["trama"].ToString().Trim();
inserisciFilmCombo(ref cmbGenere,ref cmbNaz);
cmbGenere.SelectedValue = film["genere"];
cmbNaz.SelectedValue = film["nazionalita"];
if ((bool)film["pellicola"])
{
chkPellicola.Checked = true;
}
if ((bool)film["digitale"])
{
chkDigitale.Checked = true;
}
if ((bool)film["tridimensionale"])
{
chk3d.Checked = true;
}
return short.Parse(film["id"].ToString());
}
다른 버튼을 통해 사용자는 (데이터 세트에서) 정보를 업데이트 할 수 있습니다. 이는 방법 :
public void aggiornaFilm(short id, string titolo, string regista, string cast, int anno, int durata, string trama, string trailer, string genere, string nazionalita, string locandina, bool pellicola, bool digitale, bool tridimensionale)
{
dsCinema.filmRow film = cinema.film.FindByid(id);
if (!titolo.Equals(""))
{ film["titolo"] = titolo; }
if (!regista.Equals(""))
{ film["regista"] = regista; }
if (!cast.Equals(""))
{ film["cast"] = cast; }
if (!trama.Equals(""))
{ film["trama"] = trama; }
if (!trailer.Equals(""))
{ film["trailer"] = trailer; }
if (!genere.Equals(""))
{ film["genere"] = genere; }
if (!locandina.Equals(""))
{ film["locandina"] = locandina; }
if (!anno.ToString().Equals(""))
{ film["anno"] = anno; }
if (!nazionalita.Equals(""))
{ film["nazionalita"] = nazionalita; }
if (!durata.ToString().Equals(""))
{ film["durata"] = durata; }
film["pellicola"] = pellicola;
film["digitale"] = digitale;
film["tridimensionale"] = tridimensionale;
}
내가 Visul 스튜디오는 folowing 예외를 침이 기능을 사용하려고 :
System.NullReferenceException이 처리되지 않은 메시지 = "개체 참조의 인스턴스로 설정되지 않았습니다를 객체." 소스 내가 "popolaModificaFilm"를 통해 데이터를 주입 한에도 불구하고 내가 (그래서 분명히 yhe이 메소드는 null를 돌려줍니다 찾기) ("aggiornaFilm"의 시작 부분에) 데이터 세트가 비어있는 것으로 나타났습니다
= "BusinessLogicalLayer". 두 메서드 (aggiornaFilm & popolaModificaFilm)는 같은 클래스에 있으며 같은 형식으로 호출됩니다.
도움이 필요하시면 Tnx, 영어 불쌍히 생각해서 죄송합니다.
어떤 응용 프로그램입니까? asp.net 또는 windows? – Raymond
그것은 Windows 응용 프로그램입니다. – Abaco
클래스 정의 방법, dsCiname 정의 방법에 대한 자세한 정보를 추가해야 할 수도 있습니다. 두 클래스를 서로 다른 두 인스턴스에서 호출 할 가능성이 있습니까? – Raymond