|
I was merely demonstrating that (by using the C pre-processor) one could use goto without actually seeing the goto keyword. It was a joke.
|
|
|
|
|
hello
trying to access oracle database, reading this article from Oracle herself[^]. It illustrates how to configure and retrieve connection but what I need to do is to get an "DbProviderFactory" instance (to align with other db access already in our DAO library)
Any idea how to do this with ODAC? Example:
<br />
public static DbProviderFactory GetConnectionFactory(string strProvider)<br />
{<br />
DbProviderFactory oDbFactory = null;<br />
<br />
if (Providers == null)<br />
{<br />
Providers = new Hashtable();<br />
}<br />
<br />
if (!Providers.ContainsKey(strProvider))<br />
{<br />
if (strProvider.ToUpper() == MYSQL.ToUpper())<br />
{<br />
oDbFactory = new MySql.Data.MySqlClient.MySqlClientFactory();<br />
}<br />
else if (strProvider.ToUpper() == ORACLE.ToUpper())<br />
{<br />
oDbFactory = Oracle.DataAccess.Client.???<br />
}<br />
else<br />
{<br />
oDbFactory = DbProviderFactories.GetFactory(strProvider);<br />
Providers.Add(strProvider, oDbFactory);<br />
}<br />
}<br />
else<br />
{<br />
oDbFactory = (DbProviderFactory)Providers[strProvider];<br />
}<br />
<br />
return oDbFactory;<br />
}<br />
Or should I forget ODAC and use "System.Data.OracleClient.OracleClientFactory"?
<br />
oDbFactory = DbProviderFactories.GetFactory("System.Data.OracleClient..::.OracleClientFactory");<br />
Providers.Add(ORACLE, oDbFactory);<br />
Thanks
dev
|
|
|
|
|
I need to create a class which interfaces with a whole host of other classes. Instead of a Base Class <> Class relationship, I want a Class to interface between many different types of basic classes.
My New Interface Class <> Basic Class (of many types)
This way I have a COMMON interface and structure for my application to work with these basic types.
I think if I use the Base Class <> Class relationship, my application code will be very type specific because of the different functions and data that will be available with the different basic classes.
Is there a good location to read up on this? Any Go-By's? Anybody think this is backwards?
It may be worth mentioning that the different basic classes will all be of similar type, meaning all wil be data and functions. Its not like I am working with graphic, audio and/or function differences.
|
|
|
|
|
I have seen tons of people having this issue on google but haven't found a resolution yet. This is my code on getting the byte array from the picture. Then I try to insert it into a database.
But it ALWAYS fails and gives me this: A generic error occurred in GDI+.
byte[] GetPicData()
{
MemoryStream ms = new MemoryStream();
pictureBoxPicture.Image.Save(ms, ImageFormat.Jpeg);
byte[] invPic = ms.ToArray();
ms.Close();
return invPic;
}
|
|
|
|
|
In which line you're getting error ?
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Here:
pictureBoxPicture.Image.Save(ms, ImageFormat.Jpeg);
|
|
|
|
|
try with png format
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Nope.. didn't work... I dug deeper into the breakpoints and see this:
ReadTimeout '((System.IO.Stream)(ms)).ReadTimeout' threw an exception of type 'System.InvalidOperationException' int {System.InvalidOperationException}
base {"Timeouts are not supported on this stream."} System.SystemException {System.InvalidOperationException}
+ WriteTimeout '((System.IO.Stream)(ms)).WriteTimeout' threw an exception of type 'System.InvalidOperationException' int {System.InvalidOperationException}
+ base {"Timeouts are not supported on this stream."} System.SystemException {System.InvalidOperationException}
|
|
|
|
|
looks like a bug, link[^]
but I never have this problem
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Do you think there is another way of getting the image from the picture box and saving it to a sql database?
|
|
|
|
|
try this
new Bitmap(pictureBoxPicture.Image).Save(ms, ImageFormat.Png);
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Works the same but with less code and looks better.
You know if I am saving it as a png file do I have to export it from the database as a png?
|
|
|
|
|
Jacob Dixon wrote: Works the same but with less code and looks better.
you mean no error now ?
Jacob Dixon wrote: You know if I am saving it as a png file do I have to export it from the database as a png?
yes...png is best format.
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Hi,
GDI+ has the tendency to name every problem happening in Image.Save() a "generic problem occured in GDI+". It could be a full disk, a locked file, whatever. In your case the MemoryStream can hardly fail (unless you are near an out-of-memory situation), but your image itself could be invalid (not sure how you would get PictureBox accept an invalid image, unless you first assign it to PictureBox.Image, and then do something to it.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Well I use a OpenFileDialog to select a file and set the pictureBox.Image.
Then I use the above code when you click the Save button to get the bytes and insert it into a column in a database... but it never even gets to that. I tried this and it works (not very well for large images over VPN):
byte[] GetPicData()
{
MemoryStream ms = new MemoryStream();
Bitmap bmNew = new Bitmap(pictureBoxPicture.Width, pictureBoxPicture.Height, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bmNew);
g.DrawImage(pictureBoxPicture.Image, new Point(0, 0));
g.Dispose();
bmNew.Save(ms, ImageFormat.Png);
byte[] invPic = ms.ToArray();
ms.Close();
return invPic;
}
|
|
|
|
|
Hi,
that code looks OK.
BTW: The PictureBox serves no purpose except it gives some size.
If your image happens to be zero*zero pixels, it could still work, whereas maybe PictureBox.Image (and hence the original code) would not work, I don't know. I avoid PictureBoxes, they tend to cause more trouble than what they are worth.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
What do you do to display an image? Do you draw the image on the form?
|
|
|
|
|
I tend to paint it myself on a Panel.
Also see reply below.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Luc Pattyn wrote: I avoid PictureBoxes, they tend to cause more trouble than what they are worth.
like ? I never got any problem with PB. I use BackgroundImage instead.
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Hi,
I paint my images myself, typically onto a Panel. That avoids problems such as:
- I want my pictures to preserve aspect ratio while being rescaled
- I want to select pixels with the mouse, even when the image has been rescaled
- I want to be able to draw a rubber band, even when the image has been rescaled
etc.
All of these are either impossible or much harder than they deserve to be when using a PB.
The one thing I would consider using it for is for displaying an animated image (multiTIFF and the like).
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
well, If you're a pro programmer then you should use the appropriate control. PB is for pictures and panel for containing other controls. Am I wrong...? All the operations you're doing with Panel can be done with PB but since Panel is more powerful in itself, its not good to compare with PB. Its like byte(PB) and int(Panel).
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
I agree with both of you. I am not a Pro Programmer (yet lol), but I see the advantages of both. One, I know how to use a picturebox (well I thougth I did before this issue, but it seems to be a little bug), and I do not know how to paint pictures at ALL. I would like to learn it, and I think I might try the panel way to just test it out. Not really sure where to begin so I will google painting image on panel
|
|
|
|
|
Hi,
there are lots of articles that demonstrate how to paint things. My Sokoban article is a simple example, the playing board actually is a Panel.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Luc Pattyn wrote: My Sokoban article is a simple example
nice work man, you got ma 5
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Now I take it you can not only write an image to a panel, but you can retrieve an image from it?
|
|
|
|