|
i am asking that i have to run sqlscript file that is generated by enterprize manager after installing msde on after_install event of
installer class .
when iam trying this all works fine but when scripts runs throws an error
that incorrect syntax near keyword go and even when i replace it buy ";"
and split it by ';'
can u have some code for deploying application with msde toolkit
i know how to attach or de-attach database but my question is that where
to keep those sql files while attaching and de attaching
|
|
|
|
|
Yes, I understood the problem. I'll try to repeat the answers so that they are easier to understand:
Again: The "GO" keyword is NOT an SQL keyword. It works ONLY in SQL Query Analyzer, Enterprise Manager or OSQL.
You must do EITHER a OR b below:
a) Split your files on the GO keywords and execute each part separately, one at a time. You cannot just remove the GO keywords and execute it all at once, as some statements need to be executed separately (such as create procedure). You must be careful not to just split on the text GO, as it can be embedded in strings or table names or something. You could use a regular expression for that (google regular expressions).
b) Use osql to execute the files. It understands GO.
I don't have 1.1 installed any more, but in Visual Studio 2005 you can specify commands to be run post install, using practical macros for your application folder and similar important locations. You'll have to figure out how that works in 1.1 unless you already know. If I'm wrong and you can only run code in the installer class - search for articles on executing external commands from code (you should find plenty of them).
As for location of files: Add the script files (SQL and CMD) files as dependencies to your setup project and have them installed to your app path. It's a bit trickier with picking a destination for the database, as data shouldn't be placed in the app path, and the default data location for the MSDE data files (for the instance you install) may be hard to figure out (might not be the same on all machines). On the other hand, they don't HAVE to be installed there, so you could place them in the application data folder (which should be available as an alias in the setup project configuration and in the postinstall command editor - they are in 2005). Note that the user must select "install for all user" for that to be the shared appdata folder.
Again, I don't remember how 1.1 worked anymore, but I think it was pretty similar. The documentation should be of help - or use google, or search on CodeProject. You should find lots of articles on the subject.
--
Peter
|
|
|
|
|
One more thought: Please note that both the 1.1 framework and MSDE are obsolete. The current framework version is 3.5 (which is actually 2.0 with addons). The current free SQL Server database to use is SQL Server 2005, Express Edition (a.k.a. SQLEXPRESS).
Nobody builds new stuff with the old tools any more (hopefully), so you may find it hard to get good answers about them on these forums (memories are short). However, Google and the CodeProject article search should be of help, as a lot of old stuff is still out there - and you're not the first one to have these questions. There are articles out there, I'm sure.
Hmmm... the only place I can think of that uses 1.1/MSDE for new projects would be a school. Are you trying to get me to do your homework?
--
Peter
|
|
|
|
|
I have declared a OLEDB connection string with the follwing details:
myCon = new OleDbConnection(@"Provider=Microsoft.JET.OLEDB.4.0;" + @"data source=empDB.mdb");
In the form_load, i have opend the connnection as( myCon.open();) but its showing this error :
Error Message : An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll
The same error is being displayed even with try catch................pls help me ..............thnx
Subin Verghese
Software Engineer
|
|
|
|
|
Verghese,
Try and below:
myCon = new OleDbConnection(@"Provider=Microsoft.JET.OLEDB.4.0;Data Source=empDB.mdb");
OLE Db Exception[^]
If that doesn't work, is there any text provided with the error?
Regards,
Gareth.
(FKA gareth111)
|
|
|
|
|
Gareth, thnx for the reply but it isnt working still.......i have included the main codes below, just check thru.........
using System.Data.OleDb;
private OleDbConnection myCon;
public Form1()
{
myCon = new OleDbConnection(@"Provider=Microsoft.JET.OLEDB.4.0;" + @"data source=empDB.mdb");
InitializeComponent();
}
private void Form1_Load(object sender, System.EventArgs e)
{
myCon.Open();
MessageBox.Show("Successfully Connected");
}
And this is the error message which I'm getting :
"An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll"
Thanks
|
|
|
|
|
Gareth, i got the solution.........i entered the full path and it worked.........and this is for ur info.......tek care.............happy coding............
Thanks
|
|
|
|
|
hi verghese,
Try this
1. If you are using standard security
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbsample.mdb;User Id=admin;Password=;
2. If you are using a password for your access file
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbsample.mdb;Jet OLEDB:Database Password=MyDbPassword;
regards
|
|
|
|
|
Good job Sujith.........tht was the problm with the path.......i gave the full path and it worked........thanx a lot..........bye
Thanks
|
|
|
|
|
I read the MSDN documentation on System.Windows.Forms.Application.SetCompatibleTextRenderingDefault (bool), and I still don't understand why I need it and what it does. I've passed true and false for different programs (not remembering which to use) and I don't see a difference.
|
|
|
|
|
Basically, it specifies whether GDI or GDI+ is used under the hood. Setting it to false will use GDI and should look better and localize better.
All it does is set the default value for Control.UseCompatibleTextRendering. But it gets overrided for a particular control if you set someControl.UserCompatibleTextRendering to a different value.
Put a label on a form and set, through code (not the designer) the label.UseCompatibleTextRendering property. Try setting it to true and false. On flatscreen monitors, it definitely is easy to spot -- without it, text looks jaggy and rigid. Set it to false, and it looks nice and smooth.
Life, family, faith: Give me a visit.
From my latest post: "And you think, 'To keep my anti-Judaic theology alive I must reinterpret this verse too as being a blessing for Christians and not for Jews. I know it strains all manner of principles of interpretation. I don’t read the newspaper this sloppily, but, man, I have a theology to defend.'"
Judah Himango
|
|
|
|
|
So I should pass in false to SetCompatibleTextRenderingDefault (bool)? It basically sets anti-alaising (spelling)?
|
|
|
|
|
Yes, try false and see how it works out for you.
Life, family, faith: Give me a visit.
From my latest post: "And you think, 'To keep my anti-Judaic theology alive I must reinterpret this verse too as being a blessing for Christians and not for Jews. I know it strains all manner of principles of interpretation. I don’t read the newspaper this sloppily, but, man, I have a theology to defend.'"
Judah Himango
|
|
|
|
|
I am reading data from a datafile and comparing it to a literal string. What is puzzling is that no matter what data I read from the data file for the variable "username", the boolean expression
(username == "lexsystem")
evaluates to "true", as if every string matches.
I tried "==", and ".Equals", and "Compare" and all give the same result.
Help!
Here is my code
--------------------------------------------------------------------------
private void btnSubmit_Click(object sender, EventArgs e)
{
FileStream file = new FileStream("LexPassword.txt", FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(file);
string username = reader.ReadLine();
string password = reader.ReadLine();
MessageBox.Show(username);
//MessageBox.Show(password);
//MessageBox.Show(Convert.ToString(txtUsername));
//MessageBox.Show(Convert.ToString(txtPassword));
if (username == "lexsystem")
{
Hide();
LexSystemfrm Form1 = new LexSystemfrm();
Form1.ShowDialog();
Close();
}
else
MessageBox.Show("Invalid Login, Please Enter the Correct Information");
----------------------------------------------------------------------
|
|
|
|
|
Jerry Graham,
Works fine for me. Also, it would be a good idea to use the "using" syntax around the FileStream and StreamReader so it gets disposed correctly.
Regards,
Gareth.
(FKA gareth111)
|
|
|
|
|
hi.. i have a question related to the listview.. i did the below things.. but how do i assign the value to the listview /?
void call_listview()
{
cmd.Connection = con;
cmd.CommandText = "select * from contact";
da.SelectCommand = cmd;
DataTable store = new DataTable();
try
{
ds.Clear();
con.Open();
da.Fill(ds);
store = ds.Tables[0];
int count_friend = store.Rows.Count;
contact_total_friends.Content = count_friend;
contact_listview.DataContext = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
}
|
|
|
|
|
Have you looked at any articles on this site regarding ListView databinding? A quick search reveals Data binding a ListView[^]
Life, family, faith: Give me a visit.
From my latest post: "And you think, 'To keep my anti-Judaic theology alive I must reinterpret this verse too as being a blessing for Christians and not for Jews. I know it strains all manner of principles of interpretation. I don’t read the newspaper this sloppily, but, man, I have a theology to defend.'"
Judah Himango
|
|
|
|
|
I am trying to copy part of a large bit array to another in one step like you can with a byte array and Array.ConstrainedCopy() but aparently you can not use that function with bit arrays. I have also tried Buffer.BlockCopy() and still no dice. I have done some googling and didn't find what I'm looking for. Does anyone know how to do what I want without copying bits out one at a time?
Argument '1': cannot convert from 'System.Collections.BitArray' to 'System.Array'
|
|
|
|
|
I'm not sure how to do this with a BitArray, short of doing a foreach and copying the elements you want.
Instead of BitArray, could you just use a List<bool> or a bool[]?
Life, family, faith: Give me a visit.
From my latest post: "And you think, 'To keep my anti-Judaic theology alive I must reinterpret this verse too as being a blessing for Christians and not for Jews. I know it strains all manner of principles of interpretation. I don’t read the newspaper this sloppily, but, man, I have a theology to defend.'"
Judah Himango
|
|
|
|
|
The functionality to copy a segment of a BitArray into another BitArray probably got prioritized away at the design stage.
I partially support that decision, for these reasons:
- The operation could be surprisingly expensive. In case you specified a start index not a multiple of the underlying byte/ushort/uint/ulong type used for packing the bits, it could potentially take lots of shifting and oring to do the job (depending on size - but as the type is there to make huge bit arrays more compact, the size would usually be significant). I don't think the CPU blitting support can handle that kind of operations, so the framework would have no way of optimizing it under the hood.
- The expensiveness of the operation would be nondeterministic. You have no way of knowing what the underlying storage is, and it may change from platform to platform (I would guess that the 32-bit framework uses UInt32 and the 64-bit uses UInt64), so you could never optimize it yourself.
For the exact same reasons, Buffer.BlockCopy() would be useless.
However, I find it strange that the CopyTo() method doesn't have an overload that lets you specify source start index and count. The existing version should be just as expensive as a "segmentized" version... go figure!
If you really need it - write your own CustomBitArray clone - the stuff it does isn't all that complicated... If you were to make the starting bit offset into the first word (of whatever length you use) variable (as in a private member keeping track of it), you could implement a fast segment cloner using Buffer.BlockCopy() (it would copy the words involved and adjust start offset and length of the newly created destination array). Copying a segment into a segment of a preexisting CustomBitArray wouldn't be optimizable, though.
--
Peter
|
|
|
|
|
That is what I was afraid of. I suppose it is not common to use a BitArray that is several hundred K in size and read 1K chunks out more or less at random. I suppose this is not all that bad...
BitArray ReturnArray = new BitArray(LENGTH);
for (int i = 0; i < LENGTH; i++)
{
ReturnArray[i] = iIndexer[POS + i];
}
return ReturnArray;
|
|
|
|
|
Hey All,
I'm working on Multi language application, which supports around 22 languages.
The problem is how do I show standerd "Open File", "Save" and "Print" Dailogue in other languages ?
Thanks in Advance...
|
|
|
|
|
The common dialogues will automatically be displayed in the operating systems language.
Simon
|
|
|
|
|
Currently, I am working on a Web project that retrieves it's many, sometimes 1000+, records from the SQL database and stores them into Generic lists of objects. The project also is using .NET framework caching for storing much of the same SQL data returned and other web data. In my opinion this is doing double storage. Is there something I'm missing and which is the better way to go?
Thanks,
Steve
|
|
|
|
|
Your missing the fact that Db retrieval is quite heavy and retrieval from the Server's memory (which is where the "cache" is) is very quick.
|
|
|
|