• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 332
  • Last Modified:

inserting a Ole Object into a MS database

I'm inserting a record in a MS-access database.   I'm inserting an Oleobject with this sentence

cmd2.Parameters.Add("@FileData", OleDbType.    ).Value = Buffer;

Buffer is declared like this and holds data of a file:
 
byte[] Buffer

I'm having trouble declaring the type of the data  in Buffer   in  the Add sentence

Does anyone know how to declare this.

I put a part of the code here by.

string strConn2 = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + GetConnectionString2();
 
                //string strSQL2 = "INSERT into Fylgiskjol (umsoknarnumer,Fylgiskjal,FileName ,FileSize,ContentType,FileData,Dags) values(?,?,?,?,?,?,?)";
                string strSQL2 = "INSERT into Fylgiskjol (umsoknarnumer,Fylgiskjal,FileName ,FileSize,ContentType,Dags) values(?,?,?,?,?,?)";
                OleDbConnection conn2 = new OleDbConnection(strConn2);
                conn2.Open();
 
                OleDbCommand cmd2 = new OleDbCommand();
 
                cmd2 = new OleDbCommand(strSQL2, conn2);
 
                int nFileLen = 0; 
                int iSkjalNumer = 0;
                byte[] Buffer = new byte[nFileLen];
                string strFilename = ""; 
				
                string strType = "";  
                string strName = "";
 
                AthFylgiskjalGlobalBreytur(ref iTeljari, ref nFileLen, ref iSkjalNumer, ref Buffer, ref strFilename, ref strType, ref strName);
                // ref strFilenameXmlMedPath,  ath hvað á að gera við þessa breytu 
                
                //			
                AthHvortApplErTil(iTeljari, nFileLen, iSkjalNumer, Buffer, strFilename, strType, strName);
				
                if( nFileLen > 0 )
                {
                    // Create new row                    cmd2.Parameters.Add("@umsoknarnumer",OleDbType.Integer).Value = Convert.ToInt64(nFileID);
                    cmd2.Parameters.Add("@Fylgiskjal",OleDbType.Char, 1).Value = strName;
                    cmd2.Parameters.Add("@FileName",OleDbType.Char, 255).Value = strFilename;
                    cmd2.Parameters.Add("@FileSize",OleDbType.Integer).Value = Convert.ToInt64(Buffer.Length);
                    cmd2.Parameters.Add("@ContentType",OleDbType.Char, 100).Value = strType;
                cmd.Parameters.Add("@FileData", OleDbType.BSTR).Value = Buffer;
                    cmd2.Parameters.Add("@Dags",OleDbType.Date).Value =  DateTime.Today;
 
                    cmd2.ExecuteNonQuery();

Open in new window

0
bjorkn
Asked:
bjorkn
1 Solution
 
puppydogbuddyCommented:
See this link:
http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_10031039.html

Leban's free code utilities are usually better than ones that you can do on your own, so try free code and instructions provided with Leban's LoadSaveJpeg at this link:
http://www.lebans.com/loadsavejpeg.htm

HTH
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now