|
No, you are adding an Item into the second position of the view. You need to set the string into the second subitem position of the item that you add.
Veni, vidi, abiit domum
|
|
|
|
|
I am rather new at listviews so please excuse my ignorance.
I searched for hours on the net before signing up for this forum.
I do not understand why this >> lvBOM.Items.Insert(2, "Hi"); won't work.
What is the '2' if not to place data in the 3rd col?
Can you give sample code?
|
|
|
|
|
I finally got it. Thank you very much.
|
|
|
|
|
dbushong wrote: I am rather new Nothing wrong with that, we all had to learn at one time. Make good use of the reference pages on MSDN, like the ListView pages[^].
Veni, vidi, abiit domum
|
|
|
|
|
I'm looking at trying to make a app. that keeps track of camp-sites for a season. I was wondering if I should go with a full blown database (which I assume cost money) or maybe go with a XML file.
If I went XML I was wondering what would be the best way to do it. All the information in one xml file. Or maybe one xml for each month of the season and keep track that way.
Any input would be great, thanks for taking the time to help a noobie out.
Stevish
|
|
|
|
|
|
Not much for requirements, it's just a simple booking system I guess. I really new to C# are programming as a whole, did some PHP a while back. I just wanted to make something that could be useful while I am learning.
Thanks for the info!
Stephen
|
|
|
|
|
|
I also used XML for storing some data in some cases.
An advantage: You can manually tell the application which file you want to load (or store to) and keep multiple different versions at the same time without causing any problems. If you're using a database this is getting a bit more difficult. Also if you want to store them in a e.g a Source Control as most Databases store the data in some binary format. You can however easily compare different XML files with each other.
Besides. Database might generally offer better performance but they can also require quite a lot of resources to run. If you don't have lots of data an XML file might still be faster than a database.
|
|
|
|
|
Thanks for your suggestion, I will read up on Sqlite
Thanks again!
Stephen
|
|
|
|
|
The data doesn't sound particularly tree-like (could have been an excuse to use XML)
It sounds like a bunch of records - like a database. If you find that too heavy-weight, you could use a simple comma-separated text file, or maybe just serialize your array of records to a binary file.
|
|
|
|
|
Ya your got me, I was looking for an excuse to fool around with XML.
I'll will likely go with one of the DB options above and start learning
about that.
Thanks again all for the great info! very helpful site
Stephen
|
|
|
|
|
You're kid of comparing apples to oranges. XML is not a database. You can use it for simple tables and such but it has no query engine. Go with a true database engine and you'll be much better off.
|
|
|
|
|
Ya working on setting one of those free ones up now. If I went with the XML root I would of used linq to xml.
Again thanks all for the help!
Steve
|
|
|
|
|
Member 10445348 wrote: If I went with the XML root I would of used linq to xml.
That's not exactly what I would call "performant". There is no indexing with XML or LinqToXML. Searches only work by iterating over the entire set of rows in a field.
No thanks. I'll stick with a database engine.
On top of that, XML doesn't scale with the number of users. Add more than a small handful of users using the system simultaneously and you'll be begging for a database engine.
|
|
|
|
|
Your more then like right and that is the direction that I went. I'll likely be back for help from time to time lol. I guess I should fill out the member stuff so I don't have such a funny member name.
Again thanks for all your comments!
Cheers!
|
|
|
|
|
XML is never the right answer to any data storage question unless that data is intrinsically tree based. XML is a text format, so you have issues with performance and accuracy saving numbers, dates and other binary formats, and it's a very verbose text format at that.
If you want tables of data with connections between them then you want a database or something that acts like one, otherwise you'll end up writing a query engine yourself and that's silly. As well as the free options already mentioned, mySQL is free, and if you don't want an external dependency, you can create an in memory DataSet (System.Data) which can be enough for simple applications.
If you don't think that a database is necessary for the level of complexity of your app, then it can make sense to use tab separated text files for each 'table'.
|
|
|
|
|
If I go with mySQL which I do have on my computer right now. Do I need to make sure it is installed on the computer I'm going to run the forms app on? or just the database file?
Thanks for help and info.
Stephen
|
|
|
|
|
Whatever database you use will need to be accessible from the application code (in a web app that means the server, not every client). In practice 'accessible' for a small system means 'installed on the local machine'.
|
|
|
|
|
Hello everybody.
I'm developing a windows form application with Visual Studio 2010 and C# in framework 4.
The main form has a picturebox object with a gif image as a background image which size is about 6 MB and it takes the whole screen.
In my local machine it works fine but when I run the application in other computer the gif image doesn't work in the same way that in my computer. The animation gets slower than in my computer and also the application gets slower too. I don't know why it's happening because is a new pc with 4GB RAM.
And I want to know how I can do to fix this problem. If there is any solution for gif images when it runs slowly.
Thanks in advance.
|
|
|
|
|
I would expect the rate of Gif animation to vary depending on cpu, ram, graphics card, etc. Knowing the file-size of the Gif file is 6mb. doesn't really predict the amount of memory used internally for the overhead/playback of the image in the PictureBox. Have you measured the app memory profile with and without the Gif file ?
One thing you can look at is trying to optimize the color palette of the Gif file, if it's not already optimized. Here's an open-source library with three types of tools for palette optimization based on a CodeProject article:
GifComponents (SourceForge): [^].
CodeProject article NGif: [^].
"What Turing gave us for the first time (and without Turing you just couldn't do any of this) is he gave us a way of thinking about and taking seriously and thinking in a disciplined way about phenomena that have, as I like to say, trillions of moving parts.
Until the late 20th century, nobody knew how to take seriously a machine with a trillion moving parts. It's just mind-boggling." Daniel C. Dennett
|
|
|
|
|
|
My stored procedure
ALTER PROCEDURE [dbo].[UpdateAllBooks]
@BookID int OUTPUT,
@GeneralID INT OUTPUT,
@FileName nvarchar(max),
@FilePath nvarchar(max),
@FileSize nvarchar(max),
@DateAdded date,
@MediaLength nvarchar(max),
@MediaType nvarchar(max),
@MediaSubType nvarchar(max),
@Thumbnail image,
@DateAcquired datetime,
@AuthorName nvarchar(50),
@ISBN nvarchar(max),
@Title nvarchar(max),
@Genre nvarchar (max),
@Series nvarchar(max),
@YearOfPublication date,
@Description text
AS
BEGIN
Update dbo.General
SET
FileName = @FileName,
FilePath = @FilePath,
FileSize = @FileSize,
DateAdded = @DateAdded,
MediaLength = @MediaLength,
MediaType = @MediaType,
MediaSubType = @MediaSubType,
Thumbnail = @Thumbnail,
DateAcquired = @DateAcquired
Where GeneralID = @GeneralID
Update dbo.Books
SET
AuthorName = @AuthorName,
ISBN = @ISBN,
Title = @Title,
Genre = @Genre,
Series = @Series,
YearOfPublication = @YearOfPublication ,
Description = @Description
Where BookID = @BookID
END
My code
private void Update_Click(object sender, EventArgs e)
{
if (connect.State == ConnectionState.Open)
{
connect.Close();
}
connect.Open();
cmd = new SqlCommand("dbo.UpdateAllBooks", connect);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@BookID", SqlDbType.Int, 4, "BookID");
cmd.Parameters.Add("@GeneralID", SqlDbType.Int,4,"GeneralID");
cmd.Parameters.Add("@FileName", SqlDbType.NVarChar, 50, "FileName");
cmd.Parameters.Add("@AuthorName", SqlDbType.NVarChar, 50,"AuthorName");
cmd.Parameters.Add("@ISBN", SqlDbType.NVarChar, 50, "ISBN");
cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50, "Title");
cmd.Parameters.Add("@Genre", SqlDbType.NVarChar, 50, "Genre");
cmd.Parameters.Add("@Series", SqlDbType.NVarChar, 50, "Series");
cmd.Parameters.Add("@YearOfPublication", SqlDbType.Date, 50, "YearOfPublication");
cmd.Parameters.Add("@Thumbnail", SqlDbType.Image);
cmd.Parameters.Add("@Description", SqlDbType.NVarChar, 50, "Description");
cmd.Parameters.Add("@FileSize", SqlDbType.NVarChar, 50, "FileSize");
cmd.Parameters.Add("@FilePath", SqlDbType.NVarChar, 50, "FilePath");
cmd.Parameters.Add("@DateAdded", SqlDbType.DateTime, 50,"DateAdded");
cmd.Parameters.Add("@MediaLength", SqlDbType.NVarChar, 50, "MediaLength");
cmd.Parameters.Add("@MediaType", SqlDbType.NVarChar, 50, "MediaType");
cmd.Parameters.Add("@MediaSubType", SqlDbType.NVarChar, 50, "MediaSubType");
cmd.Parameters.Add("@DateAcquired", SqlDbType.DateTime, 50, "DateAcquired");
cmd.ExecuteNonQuery();
connect.Close();
}
|
|
|
|
|
It looks like you've defined your BookID as OUTPUT, but trying to pass in the BookID in the line:
Where BookID = @BookID
Do you mean for the database to use BookID as an Identity object (in other words automatically set the ID number)? If so Google @@IDENTITY to see how to define this. If not, you might want to consider removing the OUTPUT keyword.
=======================
Every experience in life is a lesson to be learned
A. Stevens
B.S., Computer Science
|
|
|
|
|
As suggested the OUTPUT is a waste of time (I'm not aware that you cannot send a value in via n output parameter, I never use them), you never consume them just pass information in.
The error indicates that you are NOT passing in a BookID, so remove the OUTPUT and debug to parameter add value and make sure it has a value.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|