|
Andres should work but you can shorten it down by using the "IN" keyword.
WHERE id IN ( @id1, @id2, @id3, ... ) I'm pretty sure you'll have to use dynamic sql generation if you try this in a stored proc though.
James
Sonork ID: 100.11138 - Hasaki
"Smile your little smile, take some tea with me awhile.
And every day we'll turn another page.
Behind our glass we'll sit and look at our ever-open book,
One brown mouse sitting in a cage."
"One Brown Mouse" from Heavy Horses, Jethro Tull 1978
|
|
|
|
|
I created a method to generate sql string "where clause", and then append the string to the first part of sql. It works fine. Thanks for both of your help.
chris#
|
|
|
|
|
A post on the lounge reminded me of something I've been meaning to look up for a while: benchmark tests on .NET.
Does anyone know of any benchmarks available, and, would anyone be interested in porting some standard benchmarks to C#, VB.NET and/or Managed C++?
cheers,
Chris Maunder
|
|
|
|
|
Here (MSDN - Microsoft)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Dnbda/html/Bdadotnetarch13.asp
You'll find a few perfomance comparison like Data Acces Techniques or Transaction Control.
I would be interested, what kind of benchmarks do you have in mind ?.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
|
How does one go about creating a control that acts as a container such as a panel control or the old SSTabs control?
my example is this: im creating a tab control that acts like the SSTabs control of studio 6.0. while in design mode, a user can add tabs with a properties dialog. By clicking the added tabs, one can access a separate container for each tab, allowing the user to create controls that reside in that tab's assigned container.
I'm really stuck on this one and i havent had any luck in the usual search engines (codehound, msdn, etc)
thanks
|
|
|
|
|
Ive got a tab control im building from scratch. the control has a collection(ArrayList) of MyTab objects. How do i expose the collection so that in the properties of the control in design view, a user may add a MyTab object and set its properties?
If i simply expose the collection publicly, the "Collection..." field shows up, but the 'add' button only adds a System.Class. I need the add button to display a MyTab object.
you can see specifically what i want if you create an toolbar object on a form and click 'Buttons' in the properties section. when you add a new button, it shows up on the form and a 'toolbarbutton' object is created with properties you may edit.
do i have to impliment my own collection class?
thanks
|
|
|
|
|
In C# how can i get the string's rendering width?
I cant find it in msdn...
|
|
|
|
|
|
Its a kind of reposting,but forgive me because of that.
I read some MSDN doc but I didin't get anything.When I add record to dataset for updating dataadapter I have to use Update() method,but it force me to use UpdateCommand ,but I did not modify any record,I add record.so why it force for that?OleDbCommandBuilder does not make insert and update command for me automaticly Does anybody know any sample about it?Of cource not MSDN samples.
Thanks
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
I created an application that Store an ArrayList (of file and file data) in a File using Serialization with BinaryFormater.
What I want to do it's to load each filepath stored in the file I created with the Serialization and create the path. After the path is created I want to store the data of the equivalent file that is store in the file I created with the Serialization in the new file I created in the loading process.
My problem is here :
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace MultipleFile
{
///
/// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private ArrayList r,w,data,read,n,m;
private BinaryFormatter a,b,c;
private StreamReader reader;
private StreamWriter sr;
private string path,content,npath;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
r = new ArrayList();
w = new ArrayList();
data = new ArrayList();
read = new ArrayList();
a = new BinaryFormatter();
b = new BinaryFormatter();
c = new BinaryFormatter();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(32, 20);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "Open";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(32, 52);
this.button2.Name = "button2";
this.button2.TabIndex = 1;
this.button2.Text = "Create";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
this.button3.Location = new System.Drawing.Point(32, 88);
this.button3.Name = "button3";
this.button3.TabIndex = 2;
this.button3.Text = "Write";
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button4
//
this.button4.Location = new System.Drawing.Point(32, 120);
this.button4.Name = "button4";
this.button4.TabIndex = 3;
this.button4.Text = "Test";
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(128, 158);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.button4,
this.button3,
this.button2,
this.button1});
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
OpenFileDialog o = new OpenFileDialog();
o.Filter = "All Files (*.*)|*.*";
if(o.ShowDialog() == DialogResult.OK)
{
r.Add(o.FileName);
reader = new StreamReader(o.FileName);
string text = reader.ReadToEnd();
data.Add(text);
}
}
private void button2_Click(object sender, System.EventArgs e)
{
Stream s = File.Open("D:\\path.dat",FileMode.Create,FileAccess.ReadWrite);
a.Serialize(s,r);
Stream ss = File.Open("D:\\data.dat",FileMode.Create,FileAccess.ReadWrite);
b.Serialize(ss,data);
s.Close();
ss.Close();
}
--->> private void button3_Click(object sender, System.EventArgs e)
{
Stream s = File.Open("D:\\path.dat",FileMode.Open,FileAccess.Read,FileShare.None);
w = (ArrayList)a.Deserialize(s);
foreach(string i in w)
{
MessageBox.Show(i);
}
Stream ss = File.Open("D:\\data.dat",FileMode.Open,FileAccess.Read);
w = (ArrayList)a.Deserialize(ss);
foreach(string d in w)
{
MessageBox.Show(d);
}
s.Close();
ss.Close();
}
private void button4_Click(object sender, System.EventArgs e)
{
Stream s = File.Open("D:\\test.dat",FileMode.Open,FileAccess.Read);
w = (ArrayList)b.Deserialize(s);
read = (ArrayList)b.Deserialize(s);
s.Close();
}
}
}
can you copy this code and try it and you will see what I mean. I want to replace the button3_onclick event where the MEssageBox are with a File Creation and data transfer to the new file created... and I want to create it in ONE file (store the data and the file path in the same file not in two separate files)
Thanks a lot, thanks thanks thanks
Jonathan Pouliot
|
|
|
|
|
I haven't run the code, but why don't you just do something like this ?
Stream s = File.Open("D:\\path.dat",FileMode.Create,FileAccess.ReadWrite);
a.Serialize(s,<<whatever>>);
b.Serialize(s,<<whatever>>);
Wouldn't that work ?.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
yes that's work, the first BinFormater (a) will store the path and the second (b) will store the data of each files
I'm ok for the Storing(Save) but my problem is when I want to Deserialize the file to take the data from the (a) to create file and the data from the (b) to store it to the new file I create in (a).
Do you understand what I want to do ?
I know it's not clear but it's the way I want this thing works
Thanks
Jonathan Pouliot
TeckSys Developer
http://www.tecksys.com
|
|
|
|
|
Let me see if I understand correctly.
You have two arrays, one contain a list of file names, the other a list of data corresponding to each file.
So, you want to create as many files as the first array contains, and write the data contained in the second array to the corresponding file.
is this correct ?.
this sentence confuses me:
/* copy */
I want to replace the button3_onclick event where the MEssageBox are with a File Creation and data transfer to the new file created... and I want to create it in ONE file (store the data and the file path in the same file not in two separate files)
/* copy */
what do you mean by "(store the data and the file path in the same file not in two separate files)" ?
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
you almost got it :
I want to create a file(just one file) in with I will store all the file path and each of these file DATA.
this Part i'm ok.
the part I don't know how :
When I load the file i created with all the file path and file data in, I want to retake all the file path one by one and recreate the file corresponding to the file path with his DATA ( it's something like a copy process, but all the file path and data are store in one file and when I load the file I want to replace all the files at their place with their data)
Is it more clearful now ? I hope, because I don't know very well how I can explain this. And I'm french so ...
Jonathan Pouliot
TeckSys Developer
http://www.tecksys.com
|
|
|
|
|
I used to see if the control key was being held down while scrolling the mouse wheel with
GetAsyncKeyState( VK_CONTROL )
What is the preferred way of determining if a keystroke is currently pressed in C#/.NET?
Thanks a million!
|
|
|
|
|
Found something close already...
Tis funny, you rack your brain for 2 hours, post something, then find it 5 minutes later and feel like a dope.
if(( Control.ModifierKeys & Keys.Control ) == Keys.Control )
|
|
|
|
|
From the docs, try this
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
MessageBox.Show("Control key pressed");
|
|
|
|
|
I have a dataset,and dataadapter.I add a row to dataset like this:
DataRow row = dataSet11.Tables["Table2"].NewRow();
row["Username"] = str1;
row["Password"] = str2;
row["ID"] = 65;
dataSet11.Tables["Table2"].Rows.Add(row);
Now I want to make this change to datasource,so I used this:
oleDbDataAdapter1.Update(dataSet11,"Table2");
But unhandled error thrown for this line,and it said no valid update command.
I looked into some MSDN doc and there were talking about modifying recordsets in dataset not add new records,now how can I reflect changes and additions from dataset to datasource?Does Update() only for midifying or its for adding records too?
Thanks
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
If you're adding a new Row and then calling Update on the DataAdapter, you should assign something to the InsertCommand Property of DataAdapter.
InsertCommand takes a SQL Sentence (string) or OleDbCommand.
Or the alternative using OleDbCommandBuilder. This class generates the SQL Statements.
See:
InsertCommand
DeleteCommand
SelectCommand
OleDbCommand
OleDbCommandBuilder
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
Thanks Andres,I got the point, Now if I want to add 10 Records to DataSet and want to update to DataAdapter,Should I use 10 InsertCommand ,Or is there anyway to put all of them in one InsertCommand?
Thanks
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
The same InsertCommand will be call as many times as records were added.
That's the beauty of it, you can insert a few records, delete others and make a couple of changes on others, then set the three commands (InsertCommand, DeleteCommand, UpdateCommand) and let the DataAdapter do all the updates to the Database.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
hmmm,I got it.But there is another question for me here:
Each time I make a change to dataset,I have to update DataAdapter,so for large database I don't think its good.
Or I can update DataAdapter after all changes.What is a solution for that too?
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
The idea is you make all the changes needed on the DataSet, once you're done and want to commit these changes to the database you call Update on the DataAdapter, and the changes will be reflected on the Database.
There is no need (of course this is depending on your design) to save the dataset after each change, it works sort of a batch process.
Hope that clarify a bit. If you have doubts just ask again
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
One more thing..
If you're dealing with large DataSet's, there is this method: GetChanges.
Doc:
Gets a copy of the DataSet containing all changes made to it since it was
last loaded
It can be very useful in distributed scenarios.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|