|
As previously stated, streaming is probably the only way, unless you want to manually read chunks of the file.
.NET has a limit on the maximum size of any one object of 2GB - so no string or array of bytes can exceed this. If you want to read a file bigger than this limit, you have to work in chunks, you cannot read it into any single object in it's entirety.
It should be possible to declare an array like type that provides this chunking, and hides the stream or whatever from the main code. In fact there is an example of this on MSDN: http://msdn.microsoft.com/en-us/library/aa288465(v=vs.71).aspx[^] although their method does seem somewhat inefficient, and I would probably cache a block of data if I did it. Depends on how random-access your data is!
[edit]Typo: "there" for "their" - OriginalGriff[/edit]
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
Hi guys, I don't post much, but I seem to be too dense to grasp Lambda expressions fully.
This is the function and logic I'm trying to modify:
static Expression<Func<KnownFields, bool>> GetPredicate(IEnumerable<string> symbols) {
var par = Expression.Parameter(typeof(KnownFields), "row");
var condition = symbols.Select(x => Expression.Equal(Expression.Field(par, "Symbol"), Expression.Constant(x)))
.Aggregate((x, y) => Expression.OrElse(x, y));
return Expression.Lambda<Func<KnownFields, bool>>(condition, par);
}
It is used here. Where GetData takes expressions :
var symbols = new[] { "/AAA", "/BBB" };
var predicate = GetPredicate(symbols);
connection.GetData().Where(predicate).Select(selector);
What I am trying to do is modify the condition, so that each "Symbol" has a corresponding "Date" value to match in the condition. The condition would end up like:
where (row.Symbol == symbol1 && row.Date == date1) || (row.Symbol == symbol2 && row.Date == date2) || () || () ...
Believe me I didn't run to post a question the second I got stuck. Thanks preemptively for all the help.
[EDIT]
I think I got it now. Will post solution later depending on when I have time.
modified 18-Apr-12 14:22pm.
|
|
|
|
|
Through code i need to mimic the click of a desktop shortcut.
I know that in the properties of the shortcut it has the directory of which it is relevant to but this isnt what im after. Any ideas?
|
|
|
|
|
MitchG92_24 wrote: i need to mimic the click of a desktop shortcut.
What do you mean exactly, do you wish to launch the application referred to? Will you know in advance which shortcut you are accessing?
MitchG92_24 wrote: I know that in the properties of the shortcut it has the directory of which it is relevant to but this isnt what im after. Any ideas?
No, perhaps you could explain what you are after.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
|
MitchG92_24 wrote: The desktop icon i am looking for is pre determined so will be hard-coded.
How do you hard code an icon?
MitchG92_24 wrote: I am running code to mimic the user configuring a computer
What has this to do with your question?
MitchG92_24 wrote: so i need to double click the icon or select that icon rather than running a process.
You still have not explained what your application is trying to do. Are you trying to run some program based on a shortcut on the user's desktop? Are you trying to get information from the shortcut to do something else? Will this be run in a separate process ... etc.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
MitchG92_24 wrote: Through code i need to mimic the click of a desktop shortcut.
That's a description that a manager would give.. Ask the user why the shortcut needs to be clicked (ie, what does it do, and what does the user try to achieve?)
So, you need to execute the app that the shortcut points to. That means reading the shortcut, finding out what it points to, and execute that.
There's no generic way of clicking on the desktop. Yes, you can simulate a mouse-click, but chances are huge that users move their icons around. It's either that, or installing AutoHotKey[^].
Bastard Programmer from Hell
|
|
|
|
|
Please don't remove messages in a thread, it prevents other people from following it - and, who knows, one of them may be able to give some useful feedback.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
Hi,
I'm using webservices in my project and specified the webservice location in application configuration file. Issue is when I modify service location in app.config file, its not updating the Settings.settings file(in properties folder) and I couldn't able to call the service methods. Its updating only when I double click on the Settings.settings file.
Please guide me to solve this issue without double click on Settings.settings file.
Thanks in advance
|
|
|
|
|
Your settings-class has a Save method. I suggest you call it when you want to persist any changes in the settings.
Bastard Programmer from Hell
|
|
|
|
|
I tried with the below code to save settings . But its not working.
Properties.Settings setting = Properties.Settings.Default;
setting.Save();
|
|
|
|
|
BradNorthA wrote: But its not working
It's working for me.
What does "it's not working" mean? Does it throw an error? Does it not update the settings in the settings file of the IDE (as designed)? Do you get old or new values if you Reload the settings file?
Bastard Programmer from Hell
|
|
|
|
|
It didn't throw any error. its not updating the new values of app.config file.
|
|
|
|
|
Where are you verifying these new values? Are you looking in the app.config file that's part of your solution? It won't update the *default* values
Save, then Reload, then verify. Using code, not using the IDE.
Bastard Programmer from Hell
|
|
|
|
|
My app.config contains the below settings.
<applicationSettings>
<LibClient.Properties.Settings>
<setting name="LibClient_WebReference_CRService" serializeAs="String">
<value>http:
</setting>
</LibClient.Properties.Settings>
</applicationSettings>
I changed the port value in given url. like http://localhost:8080/TestService/services/TestService.TestServiceHttpSoap11Endpoint
When I run the code it is using old port value 8888 not 8080.
Because settings file was not updated with the new value 8080
Hope you understood the issue. I just have to update the settings whenever the config file gets changed. I tried with the below code in my class constructor as suggested by you. Still its not updating.
Properties.Settings.Default.Save();
Properties.Settings.Default.Reload();
|
|
|
|
|
BradNorthA wrote: Hope you understood the issue. I just have to update the settings whenever the config file gets changed. I tried with the below code in my class constructor as suggested by you. Still its not updating.
Properties.Settings.Default.Save();
Properties.Settings.Default.Reload();
That's how we do it in WinForms, and it saves the file locally. I just glanced at the documentation for ASP.NET, seems like they use a web.config; so I'm guessing that's something different.
Check if the settings-file that's in the Debug-folder is *not* readonly. Alternatively, store it in a XML file under your direct control (as opposed to relying on the generated stuff).
Bastard Programmer from Hell
|
|
|
|
|
Help Me Out . . . !
A distance calculator ... Or From Google How could I Add Service ....[Solution ....]
Jimmy
|
|
|
|
|
start Google Maps API[^]
Expecting people to provide... being too lazy to type... is unrealistic.
"You get that on the big jobs."
|
|
|
|
|
We are not here to ... Chris Maunder wrote: be surrogates for doing one's own research.
I wasn't, now I am, then I won't be anymore.
|
|
|
|
|
|
how to display the list of tables in a mysql database, I have at my application module that requires selection of the database and selection of the table that will display its contents
|
|
|
|
|
You need to execute a query against the db.
Something like
SHOW [FULL] TABLES [{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
Go look at http://dev.mysql.com/doc/[^] to find the correct syntax for the version you are working on.
Maybe execute it as a stored proc and return it to your application.
|
|
|
|
|
You need to query the Information_Schema database, something like this:-
SELECT Table_Name FROM Information_Schema.Tables WHERE Table_Type = 'BASE TABLE' AND Table_Schema = 'yourSchema'
This will give you the names of all the tables in your schema.
When I was a coder, we worked on algorithms. Today, we memorize APIs for countless libraries — those libraries have the algorithms - Eric Allman
|
|
|
|
|
You don't need any SQL:
public override List<string> GetTableNames() {
using (OleDbConnection con=new OleDbConnection(connectionString)) {
con.Open();
DataTable dt=con.GetSchema("Tables");
List<string> tableNames=new List<string>();
foreach (DataRow row in dt.Rows) {
string tableName=(string)row["TABLE_NAME"];
tableNames.Add(tableName);
}
return tableNames;
}
}
|
|
|
|
|
thank you
|
|
|
|