|
Image img =image.FromFile(path);
img.GetThumbnailImage(150, 150, new Image.GetThumbnailImageAbort(Nothing), IntPtr.Zero);
Nothing will be a function which will return a bool like .
private bool Nothing()
{
return true;
}
|
|
|
|
|
m am working with C#.net 1.1 desktop application.
As soon as Image img1 = Image.FromFile(iSelected); executes it throws an memoryexception
|
|
|
|
|
i m having three versions of my application...now the client want to use my second version(was using the first version)...so he wants that his database should not be lost....so i want to insert all the records from the old database to the new database(which is having some different field)...so i asked the user to enter the path of the database then check the tables name...but i didn't get how to find the fields name of tables....and then how will i insert the records from that database tables to new database tables....please someone help...both databases are in ms-access
|
|
|
|
|
We used "CREATE TABLE" and "ALTER TABLE" for modifying an old database to a new version. We checked the existence of an field in a table, e.g. "SELECT [somefield] FROM [sometable] WHERE 1 = 1", if the field does not exists, you know you has opend an old db, then create tables, alter tables, add some data and so on ...
|
|
|
|
|
Hi can anyone write a one line if() condition to find out whether a string array has undefined values??
I am checking like this:
if(arr == nullptr)
but this does not help..
Som
|
|
|
|
|
if(arr == null)
Ahsan Ullah
Senior Software Engineer
|
|
|
|
|
This checks if array itself is null. I think the OP want to know if array contains at least one item that is null.
[ My Blog] "Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn "Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe
|
|
|
|
|
What about if(Array.IndexOf(arr,null)>-1) ?
[ My Blog] "Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn "Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe
|
|
|
|
|
His teacher will be impressed!
All the best,
Martin
|
|
|
|
|
foreach(string s in arr)
{
if(s==null)
{
return true;
}
}
Ahsan Ullah
Senior Software Engineer
|
|
|
|
|
assign null on the definition of your array and then you can check if(arr==null) otherwise compilor will gave error
|
|
|
|
|
Hi,
From C# I'm using an OdbcCommandBuilder to generate DELETE, INSERT and UPDATE commands for updating a MySQL table and I receive the following error:
"Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does not return any key column information."
I thought this was because the table had no primary key. But I checked and it does. Does anyone know another reason why I get this error?
Thanks
|
|
|
|
|
I think that this error is because you are passing a delete command for select statement. Can you please post your code for me to look into?
|
|
|
|
|
Nope, I'm pretty sure it's not that. But here's the code anyway.
OdbcDataAdapter adapter = new OdbcDataAdapter();
OdbcCommand comm = new OdbcCommand("SELECT * FROM `" + tableName + "`", connection);
adapter.SelectCommand = comm;
OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter);
adapter.DeleteCommand = builder.GetDeleteCommand();
adapter.InsertCommand = builder.GetInsertCommand();
adapter.UpdateCommand = builder.GetUpdateCommand();
I suppose the insert and update commands don't work either but I get the exception when trying to generate the delete command.
|
|
|
|
|
adapter.DeleteCommand = builder.GetDeleteCommand();
adapter.InsertCommand = builder.GetInsertCommand();
adapter.UpdateCommand = builder.GetUpdateCommand();
In the above lines of code you are trying to get the delete and update commands, but you have not assigned them any where. You have only assigned select command by using
adapter.SelectCommand = comm;
I hope it helps sort out your problem
Ahsan Ullah
Senior Software Engineer
|
|
|
|
|
The Get{Delete,Insert,Update}Command() methods analyze the select command of the data adapter, and generate OdbcCommand objects according to the data returned by the select command. I've checked their CommandText properties during Debug and they seem ok. If I didn't assign them, the error would be something like "use of unassigned command" or another message, but not the message that I get. If you meant something else by assigning the commands, please give me an example.
The problem is not with the code but with the database. I know this because it works on one database but it fails on another database with exactly the same structure but from another computer. Could it be the MySql version?
Adrian
Junior Developer
|
|
|
|
|
do a thing comment out the update and delete options and test if select is working alone?
If so then the second thing you could check is that you are passing primary key for update and delete commands.
Ahsan Ullah
Senior Software Engineer
|
|
|
|
|
I tried not calling GetDeleteCommand(), GetInsertCommand() and GetUpdateCommand() some time ago and it didn't work.
How do I check if I'm passing primary key? Should I adapter.Fill() a table and check if there is a primary key? I can do that.
I can generate the commands manually too (but I'd like to avoid that).
I'm just trying to understand why the same code works just fine on one computer, but it doesn't on another computer with the same operating system and the same database structure.
Would you happen to know if on older versions of MySql, the "select * from <table_name>" command doesn't return key column information even if there are keys in the table?
|
|
|
|
|
Hi,
i have a problem with the Currencymanager.
When i assign the Currencymanager.CurrentChanged event (even when the function has no code) i cannot use Currencymanager.addnew . The position in the datagrid remains on another record for editing.
When not assigning the Currencymanager.CurrentChanged event then i can use Currencymanager.addnew and the position in the datagrid is on the new record for inserting.
Anyone any idea why this happens and how i can remain on the correct position for editing even when Currencymanager.CurrentChanged is assigned?
i need this event to know when the position of the cursor has been changed.
thx
Kurt
|
|
|
|
|
Evenin!
I was wondering if it was possible to extract data from a Regex object, such as length boundaries, or possibly generate an example string that will match.
Lets look at some fictual example:
var reg = new Regex("[a-z0-9]{5}");
<br />
var helper = new SomeRegexHelperClass(reg);<br />
var str = helper.GenerateExample();
var maxLen = helper.GetMaxLength();
var minLen = helper.GetMinLength();
So the question is:
Is there anything out there already, that will help me do this?
I'd need either the min/max Length, or an example string, because I have the user enter a Regular Expression which will later be used for validation. But some other stuff requires knowledge of the length of allowed input aswell.
Preferably, I would like to avoid implementing a (rather) complete Regular Expression Parser myself if it was possibly in any other way. I am also open to other suggestions on how to get Infos from the Regex that are not mentioned above, but will lead in the right way.
Thanks in advance.
Greetings, BhaaL
|
|
|
|
|
Sounds like you are doing some kind of validator.
I suggest you create a class to hold the info such as maxlength, char classes, etc, and use that to generate a Regex. Then simply inherit from that class to specialize the behavior.
|
|
|
|
|
We used to have that hardcoded before, but now the User is enabled to enter a RegExp themselves for customization.
Where I previously had the Length, allowed chars and such, I now have the RegExp and need to get at least the Length (validation for allowed chars is now done with the RegExp right away).
I want to keep it simple for the user, so just enter a RegExp and dont think of the rest; I dont want them having to enter a RegExp, in addition to that the Length of the RegExp field (User-thoughts: "Why do I have to enter that twice?"), Conditionals whether it allows only Lower/Upper Case chars or both (User-thoughts: "The RegExp tells you anyways, only capiutal letters?").
User Expierience is an important part of Software design; getting the user to enter 3 or more "redundant" informations is rather annoying.
On the other hand, providing an Editor that lets them piece together Conditions like we had them before (CapitalLetters(starting at 0, length 1), Numbers(1, 2), Dot(3, 1), Numbers(4, 2) for "[A-Z][0-9]{2}\.[0-9]{2}") would probably confuse the user aswell (think of how complex the WinForm would be to allow that, when the user is required to enter 6-12 of those expressions in total).
Thanks for your reply tho.
Greetings, BhaaL
|
|
|
|
|
Hi,
I Think this is odd requirement and that's why you need to Parse the regular Expression. This is the best way.
Best Regards,
Chetan Patel
|
|
|
|
|
My code below gets files from a list box and Zip those files into one Zip file.
My propble is: This works perfectly when i log on to the server and do this operation on the sever itself.(it is an Intranet).
But when i do this on my local machine which is on the same network as the server, it only creates the Zip file but its empty.
Can someone please help.
//Zip
txtsave.Text = "c:\\TempUpload";
System.IO.Directory.CreateDirectory(txtsave.Text);
if(ListBox1.Items.Count < 1)
{
listerror.Text = "Please add Files to the list Box and Press Confirm";
return;
}
if (txtsave.Text == string.Empty)
{
listerror.Text = "save folder not selected";
return;
}
string[] sTemp = txtsave.Text.Split('\\');
string sZipFileName = sTemp[sTemp.Length - 1].ToString();
FileInfo fi = new FileInfo(txtsave.Text + "\\" + sZipFileName + ".zip");
if(!System.IO.Directory.Exists(txtsave.Text + "\\TempZipFile\\"))
{
System.IO.Directory.CreateDirectory(txtsave.Text + "\\TempZipFile\\" + ".zip");
}
string sTargetFolderPath = (txtsave.Text + "\\TempZipFile\\");
for (int i =0; i< ListBox1.Items.Count;i++)
{
string filepath = ListBox1.Items[i].ToString();
FileInfo fi2 = new FileInfo(filepath);
if(fi2.Exists)
{
try
{
fi2.CopyTo(sTargetFolderPath + fi2.Name, true);
}
catch
{
System.IO.Directory.Delete(sTargetFolderPath);
listerror.Text = "Error on Files";
return;
}
}
}
try
{
string[] filenames = Directory.GetFiles(sTargetFolderPath);
using (ZipOutputStream s = new ZipOutputStream(File.Create(txtsave.Text + "\\" + sZipFileName + ".zip")))
{
s.SetLevel(9);
byte[] buffer = new byte[4096];
foreach (string file in filenames)
{
ZipEntry entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
s.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(file))
{
int sourceByte;
do
{
sourceByte = fs.Read(buffer, 0, buffer.Length);
s.Write(buffer, 0, sourceByte);
} while(sourceByte > 0); }
}
s.Finish();
s.Close();
}
System.IO.Directory.Delete(txtsave.Text + "\\TempZipFile\\", true);
}
catch(Exception ex)
{
listerror.Text = ex.Message.ToString();
}
|
|
|
|
|
Are you connecting to the server from your local machine ? Is this in ASP.NET ? Seems to me like you wrote code expecting it to run locally, but it runs on the server.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|