i wanted test storing images on database, did google search , found code:
.cs file:
using system; using system.collections.generic; using system.linq; using system.web; using system.web.ui; using system.web.ui.webcontrols; using system.drawing; using system.data.sqlclient; using system.io; using system.data; public partial class _default : system.web.ui.page { protected void page_load(object sender, eventargs e) { } protected void button1_click(object sender, eventargs e) { string strimagename = path.getfilename(fileuploadcontrol.filename); fileuploadcontrol.saveas(server.mappath("~/") + strimagename); bitmap bnewimage = new bitmap(strimagename); filestream fs = new filestream(strimagename, filemode.open, fileaccess.read); //creating byte array read image byte[] bimage = new byte[fs.length]; fs.read(bimage, 0, convert.toint32(fs.length)); fs.close(); fs = null; string connstr = "server=winsp3ue\\sqlexpress;database=imagestore;trusted_connection=true;"; sqlconnection conn = new sqlconnection(connstr); conn.open(); string strquery; strquery = "insert [dbo].[imagestore](id,[imagecontent]) values(" + "1," + " @pic)";//"insert imagestore (id, imagecontent) values (" + "1," + " @pic)"; sqlparameter imageparameter= new sqlparameter(); imageparameter.sqldbtype = sqldbtype.image; imageparameter.parametername = "pic"; imageparameter.value = bimage; sqlcommand cmd = new sqlcommand(strquery, conn); cmd.parameters.add(imageparameter); cmd.executenonquery(); response.write("image has been added database successfully"); cmd.dispose(); conn.close(); conn.dispose(); }
}
.aspx file
<%@ page language="c#" autoeventwireup="true" codefile="default.aspx.cs" inherits="_default" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org /tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:fileupload id="fileuploadcontrol" runat="server" /> <asp:button id="button1" runat="server" text="upload" /> </div> </form>
it should work isn't, , mean doesn't update database, values in tables remain null. , message "image has been uploaded database successfully" doesn't appear either. database using has 1 table named imagestore 2 attributes, id , imagecontent.
i new asp.net , c#, please check code errors?
first of imageid hardcoded in insert statement not good: first off, if id set auto increment identity column, throw exception unless set identity insert on table on, if it's not set auto increment, duplicate ids, result in primary key violation. rather, leave out id insert , perform content insert. far parameters go, igonre parameter declaration removing strquery definition cmd creation. instead use this:
strquery = "insert [dbo].[imagestore]([imagecontent]) values(@pic)"; sqlcommand cmd = new sqlcommand(strquery, conn); cmd.parameters.addwithvalue("pic", bimage); if(cmd.executenonquery()>0) response.write("image has been added database successfully");
Comments
Post a Comment