C# - Winforms Document Manager Using Filesystem And SQL Database?
Jun 28, 2011
I am trying to create a document manager for my winforms application. It is not web-based.I would like to be able to allow users to "attach" documents to various entities (personnel, companies, work orders, tasks, batch parts etc) in my application. After lots of research I have made the decision to use the file system to store the files instead of a blob in SQL. I will set up a folder to store all the files, but I will store the document information (filepath, uploaded by, changed by, revision etc) in parent-child relationship with the entity in an sql database.
I only want users to be able to work with the documents through the application to prevent the files and database records getting out of sync. I some how need to protect the document folder from normal users but at the same time allow the application to work with it. My original thoughts were to set the application up with the only username and password with access to the folder and use impersonation to login to the folder and work with the files. From feedback in a recent thread I started I now believe this was not a good idea, and working with impersonation has been a headache.I also thought about using a webservice but some of our clients just run the application on there laptops with no windows server. Most are using windows server or citrix/windows server.What would be the best way to set this up so that only the application handles the documents?
I am in front of a great dilemma whether to store files in Database or doing it the standard way. I would choose the second option, but my application will be used by multiple users, so I am doing it by Web Services.
On the one hand, storing in database will be very useful as every user would have access to everything very fast, not caring about file paths, locations and so on.
On the other hand, if this table consists of 1000 files, wouldn't it be a bad idea as there should be some performance loss?
At the present moment, I am using mysql as database, but I am thinking of moving to SQL Server, but I suppose this is not DB Issue.
The VB.Net desktop app uses the IE browser control to navigate the web. When a normal page loads the document_complete event fires and I can read the resulting page and go from there. The issue I am having is that the page I am driving is written with AJAX, so the document complete event never fires. Furthermore, when you view the source of the page after it loaded a new portion via AJAX, it hasn't change.
I have a form with labels that have databindings on them from an access database .. im using vb 2008 .. and i have a search query and a next button on the form displays when the currency manager count is greater than 1, to be able to display the next set of data.. now the problem i am having is that when i click the next button, its not changing any of the data in the labels on the form .. i have no clue why it isnt working, im for sure the code i am using is correct, i've tried for hours and cannot figure out where the problem is..
here is the code that i am using
Dim currManager As CurrencyManager Private Sub frmLookupChild_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
I have a function that will allow me to edit the manager property of a user here:
Public Shared Sub SetManagerProperty(ByVal de As DirectoryEntry, ByVal pName As String, ByVal pValue As String) 'First make sure the property value isnt "nothing"
[Code]....
But what if the manager is not in the Company OU? How can I edit this to search for him in the entire domain?
Im making just a fun project using visual studio 2010. Its a simple password manager. The issue im having is trying to put the information from my Access database into a gridview. The issue im having is that it just doesnt do it, no error, just no results. I have done some looking, tried different examples but no luck on this.
Here is what i have for this part:
Dim mypath = Application.StartupPath & "\User Passwords.mdb" Dim password = "password" 'I do have an actual password, im just not going to put it out there
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mypath & ";Jet
I am currently helping to write a Visual Basics program that was originally writing with access.The Original Access program has been used and modified over the past 5 years, During that time the database has gotten pretty big.The problem I am having is If I add the entire database to my data sources it creates data tables for every Table and Stored procedure even when they are not currently used in the program resulting in a 20+ minute build time just to debug.I am currently only adding Tables and Stored Procedures as i need them, so its not that much of a problem now, but as I continue to work and add tables the build time is going to go back up, and Id hate to have to wait 20+ minutes to test a small tweak I made.
I do have Visual VB.NET 2008 Express installed, SQL Server 2005 express installed, and I do know how to start a brand new project in VB.NET, and then add the database to the solution explorer, modify the tables/fields, etc. I know how to create a WinForm, add some controls (and name them and whatnot).....
So in MS Access I know how to use VB in the Code-Behind-Form to use the form in an unbound manner, and insert data into the tables via Visual Basic with SQL statements. I am looking to be able to begin the same sort of thing here, because I guess I have to start somewhere?
I have a MSAccess table with 4 columns(of text type)and another column of Oletype. I have programmed in VB.NET such that a query will returns a dataTable with all the columns from that table What im trying is to put those contents on a word document with all the columns. For which I have tried to loop through the contents of dataTable and tried to attach all those values of all columns to a string and then I have added that string to a WordDocument Bookmark as shown below.
oDoc.Bookmarks( "Questions").Range.Text = qest
But Im unable to get that image which was stored in database column in the above fashion.
I'm working in .NET solution Visual Basic that makes reporting of a database using Crystal Reports for .NET, and I want to store each report after it been generated in the database in xml or in PDF just tell me how?
I have an XmlDocument object in memory which I need to update a database table with. My SQL Express 2005 DB table is three columns: Name, Telephone, Location. Below is the structure of the XMLDocument. What is the recommended technique to accomplish this?
HTML <MyDirectory> <Prompt>Records 1 to 561 of 561</Prompt> <DirectoryEntry> <Name>John Doe</Name> <Telephone>22334222</Telephone> [Code] .....
I have my requiremnt as follows. I have a database consisting of text, image columns. Now I would like to query the database and display the result on to a word document. I have that resultset in a dataset. Now I would like the result in paragraphs manner in word document.
I'm developing a system to generate a water bill for a local area.In it i need to print out the bill from using the data from the database. how to generate & print the bill in vb.net.
I want to insert (store) a Word 2007 document into an SQL database field. I've previously done this with PDF files into an 'image' datatype field without problems. I can add the original document and retrieve it for viewing using Filestream as follows:
To add the file (where 'strPdfFile' is the file and 'myImageBuffer' is added to the field) Dim myStream As FileStream = New FileStream(strPdfFile, FileMode.Open, FileAccess.Read)
[Code].....
This also works with a Word .doc file (substituting the file extension). With a .docx file however, when taking the ByteArray back out of the database and re-creating the document, there is a problem opening it with Word 2007. An error message says the file is corrupt but offers to recover the file, which it does successfully.
I know docx is OpenXML but in this case I'm not interested in the data structure (as such), I just want to store it. I guess I should be using a different method (Serialization?) but not sure which. I would also like to keep the field DataType (image) if I can.
I have multiple .mp3 files that I have added to the resources of my project, and the thing is, that the mediaplayer won't play .mp3 files from the resources, so I need to extract them to the filesystem in order to play them, but I can't find any way to do this. All the things I've tried have given me the error saying that I don't have access to the folders I try to extract to. And yes, I'm on the Admin account of the computer.
i've tried to use SHELL to run an program when i hit "Button1".I reckoned ill use the Computer.FileSystem.GetFiles.To find the File on the Users Computer. And i dont know how to transfer the data Computer.FileSystem.GetFiles obtains to the Shell.[code]
I am trying to essentially allow the user to merge data from a database onto a document and print it. I am new to working with the PrintDocument, but I believe this would be the way to accomplish this. I know how to print the text onto the PrintDocument at a certain position, but what I am trying to figure out is how to deal with the coordinates of the text I am drawing on the PrintDocument. Ideally, I would love to click on the PrintDocument in a PrintPreviewControl and capture the coordinates of the PrintDocument.
It seems like FileSystem.GetFiles() is unable to recover from the UnauthorizedAccessException exception that .Net triggers when trying to access an off-limit directory.In this case, does it mean this class/method isn't useful when scanning a whole drive and I should use some other solution (in which case: Which one?)? Here's some code to show the issue:
Private Sub bgrLongProcess_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgrLongProcess.DoWork Dim drive As DriveInfo[code]...
If I have a folder with a bunch of ".htm" & ".html" files in it and I use
My.Computer.FileSystem.GetFiles(myFolder, FileIO.SearchOption.SearchTopLevelOnly, "*.html")it returns all the ".html" files, as expected. But if I useMy.Computer.FileSystem.GetFiles(myFolder, FileIO.SearchOption.SearchTopLevelOnly, "*.htm")it returns ".htm" & ".html" files, when I would expect it to return only the ".htm" files. Is this a bug?
i need to add explanation to my file i have a little filesystem in my program (so i dont want to use database for files)how can i add and call explanation to myfile i have some ideas but thats last resort couse its not not efficient and hard to make :)i thought i should create new table for my filesystem notes.so is there any easy way to do this :) i mean when we use explorer we can right click and use some field for our explanations.Is it possible to be able to use this fields.
I am trying to build a simple project but I am about to lose my mind over it. The following is my code, I have tried to add the Microsoft Scripting Library more times than I can think but every time it shows FileSystemObject as undefined.[code]
I would like to create .xml files on my desktop. I have example.xml file under project folder. It has couple variables that users able to change and when l compile it receiving following error message Look like it doesnt exepting My.Computer.FileSystem.CurrentDirectory \example.xmlSee the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.IO.FileNotFoundException: Could not find file 'C:\Documents and
I'm trying to make a Doctor's program where the doctor has to enter the patients detail into several text boxes (Name, Age, Address...). So, after he has entered all the information, he would want to save it somehow so he could open up the information again. How would i do that. I thought it could be saved in a database, or even in a text file.