使用OleDbConnection保存图像.

编程入门 行业动态 更新时间:2024-10-09 16:22:43
本文介绍了使用OleDbConnection保存图像.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

您好专家, 我在SQL Server中有一个表,可以说具有以下属性的SMUser.

Hello Experts, I have a table in SQL server let say SMUser with following attribute.

UserID varchar(20) UserName nvarchar(40) Sex int Checked Passwd varchar(110) EMail varchar(110) Photo image Rights int JoinDate varchar(10)

最初,我使用SQL Server,这很好.我的意思是我能够操纵数据(插入,更新,删除,读取).我正在使用代码如下所示插入记录.

Initially I was working with SQL Server, and it was good. I mean i was able manipulate the data(Insert, Update, Delete, Read). i was using the code to Insert the record as shown below.

try { dbConn = new SqlConnection(strConnStr); dbConn.Open(); } catch (Exception eX) { MessageBox.Show("Unable to open connection " + eX.Message); return; } string strQuery = "insert into Users ( UserID, UserName, Sex, Passwd, EMail, Rights, Photo, JoinDate ) values ( @UserID, @UserName, @Sex, @Passwd, @EMail, @Rights, @Photo, @JoinDate)"; //Initialize SqlCommand object for insert. SqlCommand dbCmd = new SqlCommand(strQuery, dbConn); dbCmd.Parameters.Add(new SqlParameter("@UserID", (object)strID)); dbCmd.Parameters.Add(new SqlParameter("@UserName", (object)strName)); dbCmd.Parameters.Add(new SqlParameter("@Sex", (object)nSex)); dbCmd.Parameters.Add(new SqlParameter("@Passwd", (object)UserServices.GetMd5Hash(strPass1))); dbCmd.Parameters.Add(new SqlParameter("@EMail", (object)strEMail)); dbCmd.Parameters.Add(new SqlParameter("@Rights", (object)uRights)); dbCmd.Parameters.Add(new SqlParameter("@Photo", (object)imgArr)); dbCmd.Parameters.Add(new SqlParameter("@JoinDate", (object)strJDate)); strErr = ""; //Execute insert query. try { dbCmd.ExecuteNonQuery(); } catch (Exception eX) { strErr = "Unable to perform Database operation[" + eX.Message + "]"; MessageBox.Show("Failed while adding user " + strErr); } dbConn.Close();

然后,为了支持多个数据库,我从本地SQL DB OLE DB提供程序更改了Connection.结果就是这样的功能.

then to support multiple database i have changed the Connection from native SQL DB OLE DB Provider. and this function turned out to be like.

string strQuery = "INSERT INTO SMUser (UserID, UserName, Sex, Passwd) VALUES (@UserID, @UserName, @Sex, @Passwd)"; OleDbConnection dbConn = null; try { dbConn = new OleDbConnection(strConnStr); dbConn.Open(); } catch ( Exception eX) { MessageBox.Show("Unable to open connection " + eX.Message); return; } //Initialize OleDbCommand object for insert. OleDbCommand dbCmd = new OleDbCommand ( strQuery, dbConn); //We are passing Original Image Path and Image byte data as sql parameters. dbCmd.Parameters.Add(new OleDbParameter("@UserID", (object)strID)); dbCmd.Parameters.Add(new OleDbParameter("@UserName", (object)strName)); dbCmd.Parameters.Add(new OleDbParameter("@Sex", (object)nSex)); dbCmd.Parameters.Add(new OleDbParameter("@Passwd", (object)strEMail)); dbCmd.Parameters.AddWithValue("@EMail", (object)strEMail); dbCmd.Parameters.AddWithValue("@Photo", (object)imgArr); dbCmd.Parameters.AddWithValue("@Rights", (object)uRights.ToString()); dbCmd.Parameters.AddWithValue("@JoinDate", (object)strJDate); try { bErr = false; dbCmd.ExecuteNonQuery(); } catch (Exception eX) { MessageBox.Show ( "Unable to perform Database operation[" + eX.Message + "]" ); bErr = true; } dbConn.Close(); MessageBox.Show( strMsg );

现在,当我插入一条记录时,出现一条错误消息,指出必须声明标量变量@UserID 为什么得到这个,我试图用薄而厚的玻璃看,但是可以找到, 恶作剧. prateek.

Now when i Insert a record get an error saying that Must declare the scalar varibale @UserID why i am getting this, i have tried to see with thin and thick glass, but could find, thnaks. prateek.

推荐答案

检查对象: Check your object: dbCmd.Parameters.Add(new OleDbParameter("@UserID", (object)strID));

如果strId为null,则会出现错误.

If strId is null, you could get the error.

更多推荐

使用OleDbConnection保存图像.

本文发布于:2023-11-13 03:10:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1583259.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图像   OleDbConnection

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!