|
It's easy:
commandText = "SELECT user from UserTable where id = @username"
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.AddWithValue("@username", tbUser.Text);
|
|
|
|
|
It's not hard, it's easy - once you learn how to do it.
Just to add to what Richard gave you, the whole code is along the lines of:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT Age, Description FROM myTable WHERE ID = @ID", con))
{
cmd.Parameters.AddWithValue("@ID", myTextBox.Text);
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
int age = (int) reader["Age"];
string desc = (string) reader["Description"];
Console.WriteLine($"{age}\n{desc}");
}
}
}
}
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Answering a question like this is harder.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Step one: Add new LINQ to SQL item from project Item in to your project and call it DXD (or any convinient name you like)
Step two: drag and Drop the Employee TABLE from Server Explorer in your IDE to your LINQ to SQL DataContext object.
Step Three: Add data source by selecting Object as data source
Step Four: Go to your form and drag and drop Salary field from your data source object to your form
Step Five: Set the Data Source of your EmployeeDatabinding object as EmployeeDatabinding.DataSource = DXD.Employee
...
it is too long try another approach
|
|
|
|
|
And what happens if the database is not SQL Server? What if the textbox is an ASP.NET Core one? You are making a lot of assumptions with your answer.
|
|
|
|
|
Pete O'Hanlon wrote: And what happens if the database is not SQL Server? What if the textbox is an ASP.NET Core one? You are making a lot of assumptions with your answer. Same can be said from OG's answer, which I still find very valuable.
The assumption for SQL Server is a valid one; if it is another database a similar technique is used and the example given remains valid with minimal change.
I'd argue that it should program against the interface, and use the CreateCommand method from the connection, taking the value of the textbox as an argument.
using (SqlConnection con = new SqlConnection(strConnect))
using (IDbCommand cmd = con.CreateCommand())
{
cmd.CommandText = "bla";
con.Open(); And yes, even that would be improved by using the DBProviderFactory, getting the connectionstring and provider from the Settings.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
There are as many ways to do this as there are people answering this question. Most of them depend on what mechanism you're using to access your database - Entity Framework - ADO - LINQ to SQL, or whatever. I personally prefer ADO, and I've written a reasonably generic DAL object to do it.
Generic DAL using ADO[^]
It can process stored proc calls or straight-up queries, and can map the returned data set to any object.
Beyond that, your question is so vague that there's nothing more I can suggest
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
How big is the "database" (table)? Sometimes, it's simply more efficient to load the entire table into memory and reference it (i.e. for "look-ups") during data entry. No fancy querying required.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
private void CheckContactNumber()
{
string checkContactNum = "SELECT COUNT(*) FROM Employee WHERE ContactNumber = " + addContactNum.Text + " "; //01234567890
OleDbCommand cmd = new OleDbCommand(checkContactNum, conn);
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
//if (dr.Read() && addContactNum.Text != "")
if (dr.Read())
{
int count = (int)dr[0];
if(count>0)
{
err += "Contact number is already listed in the database\r\n";
errorContactNum.Visible = true;
uniqueContactNumber = false;
}
}
conn.Close();
}
|
|
|
|
|
t's not hard, it's easy - once you learn how to do it.
Just to add to what Richard gave you, the whole code is along the lines of:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT Age, Description FROM myTable WHERE ID = @ID", con))
{
cmd.Parameters.AddWithValue("@ID", myTextBox.Text);
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
int age = (int) reader["Age"];
string desc = (string) reader["Description"];
Console.WriteLine($"{age}\n{desc}");
}
}
}
}
|
|
|
|
|
I have c# windows form application which displays the real time data from a board. I want to plot this data in a point graph in c#. Help me with this. I have given my code below which displays the data from board.
namespace flowboard_v2
{
public partial class flow_click : Form
{
public flow_click()
{
InitializeComponent();
}
[DllImport("C:\\Users\\JivaSci\\Desktop\\fluigent\\bin\\SDK\\FRP\\C++\\Cpp_Windows\\frp_c_64.dll", CallingConvention = CallingConvention.StdCall)]
public static extern UInt64 frp_initialization(ushort serial);
[DllImport("C:\\Users\\JivaSci\\Desktop\\fluigent\\bin\\SDK\\FRP\\C++\\Cpp_Windows\\frp_c_64.dll", CallingConvention = CallingConvention.StdCall)]
public static extern Int64 frp_get_serial(UInt64 handle, ref ushort serial, ref ushort version);
[DllImport("C:\\Users\\JivaSci\\Desktop\\fluigent\\bin\\SDK\\FRP\\C++\\Cpp_Windows\\frp_c_64.dll", CallingConvention = CallingConvention.StdCall)]
public static extern Int64 frp_close(UInt64 handle);
[DllImport("C:\\Users\\JivaSci\\Desktop\\fluigent\\bin\\SDK\\FRP\\C++\\Cpp_Windows\\frp_c_64.dll", CallingConvention = CallingConvention.StdCall)]
public static extern Int64 frp_read_flow(UInt64 handle, byte index, ref byte timestamp, ref float flow);
[DllImport("C:\\Users\\JivaSci\\Desktop\\fluigent\\bin\\SDK\\FRP\\C++\\Cpp_Windows\\frp_c_64.dll", CallingConvention = CallingConvention.StdCall)]
public static extern Int64 frp_data_FU(UInt64 handle, byte index, ref byte cal, ref byte res, ref byte artcod, ref byte sf, ref byte unit, ref byte tb);
public void Test()
{
/* Flow board variable declaration */
UInt64 frpHandle = 0;
ushort Serial = 0;
ushort Version = 0;
/* Flow-rate acquisition variables */
byte sensor_index = 0; // sensor index coresponds to flow-unit port on the flowboard from 0 to 7
byte TimeCheck = 0;
float flow_rate = 0;
uint loop = 0;
frpHandle = frp_initialization(0);
RTBox.Text+=("\n FRP session initialized");
frp_get_serial(frpHandle, ref Serial, ref Version);
RTBox.Text += ("\n FLOWBOARD SN:" + Convert.ToInt32(Serial));
if (Serial != 0)
{
frp_read_flow(frpHandle, sensor_index, ref TimeCheck, ref flow_rate);
RTBox.Text += ("\n Flow-rate:" + Convert.ToSingle(flow_rate) + "\t ul/min");
}
frp_close(frpHandle);
RTBox.Text += ("\n FRP session closed");
}
private void button1_Click(object sender, EventArgs e)
{
Test();
}
|
|
|
|
|
|
I am trying to plot the flow rate value(micro litres) and time(seconds) . so flow rate is my y axis and time is my x axis . whenever i click on button a new flow rate value is obtained which should to be updated on the graph
|
|
|
|
|
Member 14652449 wrote: whenever i click on button a new flow rate value is obtained which should to be updated on the graph So what code do you have that is activated when you click on a button? You just need to update your plot values and redraw the graph.
|
|
|
|
|
I have this code in my DAL:
public async Task<IList<CompanyHeaderEntity>> GetCompanyHeadersAsync()
{
var t = await Task.Factory.StartNew(() =>
{
List<CompanyHeaderEntity> results = new List<CompanyHeaderEntity>();
using (var db = GetDataContext())
{
try
{
results = (from c in db.Companies
where !c.DeletedDT.HasValue
select new CompanyHeaderEntity
{
Id = c.Id,
CompanyName = c.CompanyName
}).OrderBy(x => x.CompanyName).ToList();
}
catch (Exception e)
{
throw;
}
return results;
}
});
return t;
}
What I'd like to do is pass in a delegate, so that I could say "Give me all Companies where [whatever]." But in all cases, I want to include the WHERE clause I already have in there.
where !c.DeletedDT.HasValue
So I somehow need to append the deleted check to whatever I pass in.
What's the right way to do this?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Have you tried including a predicate as argument?
public async Task<IList<CompanyHeaderEntity>> GetCompanyHeadersAsync(Predicate<Company> predicate)
And then
where !c.DeletedDT.HasValue && predicate(c)
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
Good idea. Thanks!
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
OK, so the predicate is referencing the DB entity 'Company', whereas my code references my ENTITY called CompanyHeaderEntity, so it doesn't compile
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
I don't have the right schema, I just assumed the name of the class.
The type for the predicate is the type of the c variable.
And what is the compile error message by the way?
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
The c variable is the db entity. It complains because it's trying to convert a Company (DB record) to an CompanyHeaderEntity
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Please tell the exact error message, and also indicate the actual code. I cannot help you without this because none of what I proposed involves any conversion of some kind.
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
While I have posted samq query in the link given below, I thought someone here could use their expertise in solving my requirement.
How to delete dynamically created Textbox using delete key on keyboard?[^]
I have used all types of coding to remove the textbox but no use. I found few posts on Google search but the textboxes are associated with either a button control or checkbox control, using which, the deletion happens. I want the textbox to be deleted, if it is selected (meaning, the cursor is blinking in the text input area). I also tried setting textBox.Enabled=false; but no use as a statement textBox.Enabled=true; doesn't bring the textbox to life at all.
Thanks in advance.
parthan
|
|
|
|
|
If it's dynamically created, you can enable, disable, or remove it very simply - provided you have the right instance.
And that means "finding" the exact TextBox that you issued a new statement on, and added to the PictureBox.Controls collection:
private void FrmMain_Shown(object sender, EventArgs e)
{
TextBox tb = new TextBox();
...
myPictureBox.Controls.Add(tb);
}
Unless you saved it in a class level variable, the simplest way to do that is probably to look in myPictureBox.Controls:
if (myPictureBox.Controls.Count > 0)
{
if (myPictureBox.Controls[0] is TextBox tb)
{
tb.Enabled = true;
tb.Enabled = false;
myPictureBox.Controls.Remove(tb);
}
}
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Hi, I tried implementing your code as shown below and commented as //New experiment...
But delete doesn't have any effect.
Please look into the code and let me know if something is amiss.
Thank you.
virtTxtBox.MouseDown += (ss, ee) =>
{
if (ee.Button == MouseButtons.Left)
{
//this.textBox1.Enabled = false;
firstPoint = Control.MousePosition;
if (virtTxtBox.BorderStyle == BorderStyle.None)
{
virtTxtBox.BorderStyle = BorderStyle.FixedSingle;
}
//else
//if (virtTxtBox.BorderStyle == BorderStyle.FixedSingle)
{// virtTxtBox.MouseEnter += (ssh, eeh) =>
{
KeyDown += (o, e2) =>
{
virtTxtBox.Focus().Equals(false);
if (e2.KeyCode == Keys.Delete)
{
TextBox TxtBox = (sender as TextBox);
//if (virtTxtBox.BorderStyle == BorderStyle.FixedSingle)
{
//Determine the Index of the Button.
int index = int.Parse(TxtBox.Name.Split('_')[1]);
label1.Text = index.ToString();
//Find the TextBox using Index and remove it.
TextBox txbx = (TextBox) pictureBox1.Controls.Find("txt_" + index, true)[0];
label1.Text = txbx.Name;
pictureBox1.Controls.Remove(pictureBox1.Controls.Find("txt_" + index, true)[0]);
pictureBox1.Controls.Clear();
virtTxtBox.Dispose();
//new experiment start
if (pictureBox1.Controls.Count > 0)
{
if (pictureBox1.Controls[0] is TextBox tb)
{
label1.Text = "YES entered tb";
tb.Enabled = true;
tb.Enabled = false;
pictureBox1.Controls.Remove(tb);
}
}
//new experiment end
}
}
};
virtTxtBox.BorderStyle = BorderStyle.None;
};
}
//virtTxtBox.Enabled = false;
}
};
parthan
|
|
|
|
|
Do us both a favour and look at your code:
pictureBox1.Controls.Clear();
virtTxtBox.Dispose();
if (pictureBox1.Controls.Count > 0) How many controls do you think there are left after you Clear the Controls collection?
And then look at the rest of it and see if it makes any sense at all - because that looks like it was thrown together while praying it will work, rather than designed in any way!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|