public Kupac(SqlDataReader reader)
{
KupacId = Convert.ToInt32(reader["KupacId"]);
Ime = reader["Ime"].ToString();
Prezime = reader["Prezime"].ToString();
IdentifikacioniBroj = reader["IdentifikacioniBroj"].ToString();
ClanOd = (DateTime)reader["ClanOd"];
KorisnickoIme = reader["KorisnickoIme"].ToString();
}
public int KupacId
{
get;
set;
}
public string Ime
{
get;
set;
}
public string Prezime
{
get;
set;
}
public string IdentifikacioniBroj
{
get;
set;
}
public DateTime ClanOd
{
get;
set;
}
public string KorisnickoIme
{
get;
set;
}
答案 0 :(得分:1)
您不能将字符串转换为日期时间,但可以使用DateTime的Parse:
ClanOd = DateTime.Parse(reader["ClanOd"]);
答案 1 :(得分:0)
Smith.h.Neil说了什么,但如果值可能是无效日期,我会使用其他版本的try parse。
string validDate = "2014-04-17";
string invalidDate = "not a date";
DateTime date;
DateTime date2;
bool isValidDate = DateTime.TryParse(validDate, out date);
bool isValidDate2 = DateTime.TryParse(invalidDate , out date2);
http://msdn.microsoft.com/en-us/library/system.datetime.aspx
假设ClanOd是DateTime替换
ClanOd = (DateTime)reader["ClanOd"];
使用
DateTime date;
bool isValid = DateTime.TryParse(reader["ClanOd"].ToString(), out date);
if(isValid)
ClanOd = date;
答案 2 :(得分:0)
您可能需要指定文化
ClanOd = DateTime.ParseExact(reader["ClanOd"], "dd.MM.yyyy", System.Globalization.CultureInfo.GetCultureInfo("de-DE"));
或试试这个:
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("de-DE");
ClanOd = DateTime.Parse(reader["ClanOd"], cultureInfo);
答案 3 :(得分:-1)
这一切都来自我的班级KupacAdapter,而我的错误就在这里
公共类KupacAdapter {
public KupacAdapter()
{
}
public static List<Kupac> VratiKupce(int kriterijumPretrage, string tekstPretrage)
{
List<Kupac> listaKupaca = new List<Kupac>();
SqlConnection konekcija = new SqlConnection();
try
{
konekcija.ConnectionString = CONNECTION_STRING;
konekcija.Open();
SqlCommand komanda = new SqlCommand();
komanda.Connection = konekcija;
string selectUpit = "select * from Kupac where 1=1 ";
if (!string.IsNullOrEmpty(tekstPretrage))
{
switch (kriterijumPretrage)
{
case 0:
selectUpit += " and IdentifikacioniBroj LIKE '%' + @kriterijum + '%'";
break;
case 1:
selectUpit += " and Ime LIKE '%' + @kriterijum + '%'";
break;
case 2:
selectUpit += " and Prezime LIKE '%' + @kriterijum + '%'";
break;
}
komanda.Parameters.AddWithValue("@kriterijum", tekstPretrage);
}
komanda.CommandText = selectUpit;
SqlDataReader reader = komanda.ExecuteReader();
while (reader.Read())
{
listaKupaca.Add(new Kupac(reader));
}
reader.Close();
return listaKupaca;
}
catch (Exception ex)
{
throw ex;
}
finally
{
konekcija.Close();
}
}
public static void InsertKupac(Kupac kupac)
{
SqlConnection konekcija = new SqlConnection();
try
{
konekcija.ConnectionString = CONNECTION_STRING;
konekcija.Open();
string insertUpit = "INSERT INTO Kupac(Ime, Prezime, IdentifikacioniBroj, ClanOd, KorisnickoIme) "
+ "VALUES(@Ime, @Prezime, @IdentifikacioniBroj, GETDATE(), @KorisnickoIme)";
SqlCommand komanda = new SqlCommand(insertUpit, konekcija);
komanda.Parameters.AddWithValue("@Ime", kupac.Ime);
komanda.Parameters.AddWithValue("@Prezime", kupac.Prezime);
komanda.Parameters.AddWithValue("@IdentifikacioniBroj", kupac.IdentifikacioniBroj);
komanda.Parameters.AddWithValue("@KorisnickoIme", kupac.KorisnickoIme);
komanda.ExecuteNonQuery();
}
catch
{
}
finally
{
konekcija.Close();
}
}
public static void UpdateKupac(Kupac kupac)
{
SqlConnection konekcija = new SqlConnection();
try
{
konekcija.ConnectionString = CONNECTION_STRING;
konekcija.Open();
string updateUpit = @" UPDATE [Kupac]
SET [Ime] = @Ime, [Prezime] = @Prezime,
[IdentifikacioniBroj] = @IdentifikacioniBroj
WHERE [KupacId] = @KupacId";
SqlCommand komanda = new SqlCommand(updateUpit, konekcija);
komanda.Parameters.Add("@Ime", kupac.Ime);
komanda.Parameters.Add("@Prezime", kupac.Prezime);
komanda.Parameters.Add("@IdentifikacioniBroj", kupac.IdentifikacioniBroj);
komanda.Parameters.Add("@KupacId", kupac.KupacId);
komanda.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
konekcija.Close();
}
}
public static void DeleteKupac(Kupac kupac)
{
SqlConnection konekcija = new SqlConnection();
try
{
konekcija.ConnectionString = CONNECTION_STRING;
konekcija.Open();
string deleteUpit = @" DELETE
FROM Kupac
WHERE KupacId = @KupacId";
SqlCommand komanda = new SqlCommand(deleteUpit, konekcija);
komanda.Parameters.Add("@KupacId", kupac.KupacId);
komanda.ExecuteNonQuery();
}
catch
{
}
finally
{
konekcija.Close();
}
}
public static DataTable VratiSveKupce()
{
DataTable dtSviKupci = new DataTable();
SqlConnection konekcija = new SqlConnection();
try
{
konekcija.ConnectionString = CONNECTION_STRING;
konekcija.Open();
string selectUpit = @"SELECT KupacId, Ime, Prezime, IdentifikacioniBroj, ClanOd,
Ime + ' ' + Prezime + ' - ' + IdentifikacioniBroj AS PunoIme
FROM Kupac
Order by Ime, Prezime, IdentifikacioniBroj";
SqlDataAdapter da = new SqlDataAdapter(selectUpit, konekcija);
da.Fill(dtSviKupci);
}
catch
{
dtSviKupci = null;
}
finally
{
konekcija.Close();
}
return dtSviKupci;
}
public static int VratiKupacIdZaKorisnickoIme(string korisnickoIme)
{
SqlConnection konekcija = new SqlConnection();
try
{
konekcija.ConnectionString = CONNECTION_STRING;
konekcija.Open();
SqlCommand komanda = new SqlCommand();
komanda.Connection = konekcija;
string selectUpit = "select * from Kupac where KorisnickoIme=@KorisnickoIme";
komanda.Parameters.AddWithValue("@KorisnickoIme", korisnickoIme);
komanda.CommandText = selectUpit;
return Convert.ToInt32(komanda.ExecuteScalar());
}
catch (Exception ex)
{
throw ex;
}
finally
{
konekcija.Close();
}
}
}
答案 4 :(得分:-1)
public Kupac(SqlDataReader reader) { 尝试 { KupacId = Convert.ToInt32(读者[&#34; KupacId&#34;]); Ime =读者[&#34; Ime&#34;]。ToString(); Prezime =读者[&#34; Prezime&#34;]。ToString(); IdentifikacioniBroj = reader [&#34; IdentifikacioniBroj&#34;]。ToString(); ClanOd =(DateTime)reader [&#34; ClanOd&#34;]; KorisnickoIme =读者[&#34; KorisnickoIme&#34;]。ToString(); } catch(例外错误) { 扔错了; } }
//public Kupac(SqlDataReader reader)
//{
// KupacId = Convert.ToInt32(reader["KupacId"]);
// Ime = reader["Ime"].ToString();
// Prezime = reader["Prezime"].ToString();
// IdentifikacioniBroj = reader["IdentifikacioniBroj"].ToString();
// ClanOd = (DateTime) reader["ClanOd"];
// KorisnickoIme = reader["KorisnickoIme"].ToString();
//}
public int KupacId
{
get;
set;
}
public string Ime
{
get;
set;
}
public string Prezime
{
get;
set;
}
public string IdentifikacioniBroj
{
get;
set;
}
public DateTime ClanOd
{
get;
set;
}
public string KorisnickoIme
{
get;
set;
}
}