c# - 如何将图像添加到类并保存在数据库中
问题描述
我有一个定义的类我想将图像添加到这个类我该怎么做:
public class CLASSFIVE
{
public CLASSFIVE()
{
// Insert code required on object creation below this point.
}
public int ContactID { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public string Contact { get; set; }
public string GuardianPhone { get; set; }
public string DOB { get; set; }
public string Address { get; set; }
public object State { get; set; }
public string Gender { get; set; }
public string Nationality { get; set; }
public string Disability { get; set; }
public object photo { get; set; }
static string MYCONNEC = ConfigurationManager.ConnectionStrings["MYCONNECTION"].ConnectionString;
public DataTable Select()
{
SqlConnection conn = new SqlConnection(MYCONNEC);
DataTable dt = new DataTable();
try
{
SqlCommand cmd = new SqlCommand("SELECT * FROM tbl_c5", conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return dt;
}
public bool Insert(CLASSFIVE c5)
{
bool isSuccess = false;
SqlConnection conn = new SqlConnection(MYCONNEC);
try
{
SqlCommand cmd = new SqlCommand("INSERT INTO tbl_c5 (FirstName, MiddleName, LastName, Contact, GuardianPhone, DOB, Address,State, Gender, Nationality, Disability) VALUES (@FirstName, @MiddleName, @LastName, @Contact, @GuardianPhone, @DOB, @Address,@State, @Gender, @Nationality, @Disability)", conn);
cmd.Parameters.AddWithValue("@FirstName", c5.FirstName);
cmd.Parameters.AddWithValue("@MiddleName", c5.MiddleName);
cmd.Parameters.AddWithValue("@LastName", c5.LastName);
cmd.Parameters.AddWithValue("@Contact", c5.Contact);
cmd.Parameters.AddWithValue("@GuardianPhone", c5.GuardianPhone);
cmd.Parameters.AddWithValue("@DOB", c5.DOB);
cmd.Parameters.AddWithValue("@Address", c5.Address);
cmd.Parameters.AddWithValue("@State", c5.State);
cmd.Parameters.AddWithValue("@Gender", c5.Gender);
cmd.Parameters.AddWithValue("@Nationality", c5.Nationality);
cmd.Parameters.AddWithValue("@Disability", c5.Disability);
cmd.Parameters.AddWithValue("@photo", c5.Photo);
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return isSuccess;
}
public bool Update(CLASSFIVE c5)
{
bool isSuccess = false;
SqlConnection conn = new SqlConnection(MYCONNEC);
try
{
SqlCommand cmd = new SqlCommand("UPDATE tbl_c5 SET FirstName=@FirstName, MiddleName=@MiddleName, LastName=@LastName, Contact=@Contact, GuardianPhone=@GuardianPhone, DOB=@DOB, Address=@Address, Gender=@Gender, Nationality=@Nationality, Disability=@Disability WHERE ContactID=@ContactID", conn);
cmd.Parameters.AddWithValue("@FirstName", c5.FirstName);
cmd.Parameters.AddWithValue("@MiddleName", c5.MiddleName);
cmd.Parameters.AddWithValue("@LastName", c5.LastName);
cmd.Parameters.AddWithValue("@Contact", c5.Contact);
cmd.Parameters.AddWithValue("@GuardianPhone", c5.GuardianPhone);
cmd.Parameters.AddWithValue("@DOB", c5.DOB);
cmd.Parameters.AddWithValue("@Address", c5.Address);
cmd.Parameters.AddWithValue("@State", c5.State);
cmd.Parameters.AddWithValue("@Gender", c5.Gender);
cmd.Parameters.AddWithValue("@Nationality", c5.Nationality);
cmd.Parameters.AddWithValue("@Disability", c5.Disability);
cmd.Parameters.AddWithValue("@photo", c5.Photo);
cmd.Parameters.AddWithValue("ContactID", c5.ContactID);
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return isSuccess;
}
public bool Delete(CLASSFIVE c5)
{
bool isSuccess = false;
SqlConnection conn = new SqlConnection(MYCONNEC);
try
{
SqlCommand cmd = new SqlCommand("DELETE FROM tbl_c5 WHERE ContactID=@ContactID", conn);
cmd.Parameters.AddWithValue("@ContactID", c5.ContactID);
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return isSuccess;
}
}
我有一个像这样的保存按钮,其中我引用了上面的类,但我想向这个按钮添加图像,请查看下面的代码,看看你是否可以帮助我解决这个问题:
private void BTNSAVE_Click(object sender, RoutedEventArgs e)
{
try
{
if (txtFirstName.Text == "" || txtMiddelName.Text == "" || txtLastName.Text == "" || txtGuardianPhone.Text == "" || txtNationality.Text == "" || txtstate.Text == "" || txtGender.Text == "" || txtDisability.Text == "")
{
MessageBox.Show("Required Field:FirstName,MiddleName,LastName, \n GuardianPhone,State/Province,Gender, \n Nationality,Disability \n Save Aborted; enter accurate values");
}
else
{
using (SqlConnection conn = new SqlConnection(MYCONNEC))
{
c5.FirstName = txtFirstName.Text;
c5.MiddleName = txtMiddelName.Text;
c5.LastName = txtLastName.Text;
c5.Contact = txtContact.Text;
c5.GuardianPhone = txtGuardianPhone.Text;
c5.DOB = txtDOB.Text;
c5.Address = txtAddress.Text;
c5.State = txtstate.Text;
c5.Gender = txtGender.Text;
c5.Nationality = txtNationality.Text;
c5.Disability = txtDisability.Text;
bool success = c5.Insert(c5);
if (success == true)
{
LBLDP.Content = "Saved Successfully!!";
Refresh();
Clear();
}
else
{
MessageBox.Show("Contact Not Saved, Try Again");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "MGT Message", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
请问我想c5.photo
在这个应用程序中添加一个保存按钮,有人可以帮我吗?
解决方案
您不能直接将图像保存在类对象和数据库中。为此,您可以通过两种方式做到这一点:
您从请求中获取图像,将其保存到您的服务器,并将该特定文件的路径保存在数据库中。这是实现这一目标的最佳方式,因为它不会对您的数据库大小产生任何影响。
如果您只想将文件保存在数据库中,则可以将数据库列数据类型用作 BLOB,它允许您保存文件或冗长的对象。在你的课堂上,你制作照片道具。作为字符串并将图像或文件的 base64 保存(推荐)或将属性设置为 Stream 并将文件流保存在此特定对象中并同样推送到数据库。
推荐阅读
- jquery - 页面加载后淡入按钮
- python - python django如何在Post请求中向网站发送参数
- iframe - 如何使用无头 chrome 获得带有 puppeteer 的 iframe 的内部 Html?
- google-cloud-functions - 错误:找不到模块“../lib/tslint-cli”
- php - php块数组成批处理
- php - 我需要检查某个数字是否在数字字符串中
- highcharts - 具有双类别轴的图表 - 可以使用 Highcharts 吗?
- c++ - 链接共享库依赖项未在 ldd 中列出
- python - Anaconda 是否在全局站点包文件夹中搜索包?
- javascript - 如何将一个json结构转换成另一个