|
maB_J wrote: I dint get an accurate answer
What do you mean by accurate? Did you read the first link in the list I sent you? It gives a full definition of Dynamic Polymorphism; you could also go to Bjarne Stroustrup's web site and read everything he has to say about it.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
hey guys..i try to add datas by stored procedure with 15 parameters..it works well..the problem is in my ProcessLayer..i have Firmalar class like below.
public class Firmalar
{
public string firma_adi { get; set; }
public string yetkili1 { get; set; }
public string gsm1 { get; set; }
public string email1 { get; set; }
public string yetkili2 { get; set; }
public string gsm2 { get; set; }
public string email2 { get; set; }
public string yetkili3 { get; set; }
public string gsm3 { get; set; }
public string email3 { get; set; }
public string telefon1 { get; set; }
public string telefon2 { get; set; }
public string telefon3 { get; set; }
public string telefon4 { get; set; }
public string telefon5 { get; set; }
}
and i try to add data in my processLayer like that
public void InsertFirm(Firmalar fir)
{
try
{
fir = new Firmalar();
cmmd = d.InsertData();
cmmd.Parameters.AddWithValue("@firmanin_adi", System.Data.SqlDbType.NVarChar).Value = fir.firma_adi;
cmmd.Parameters.AddWithValue("@yetkili1", System.Data.SqlDbType.NVarChar).Value = fir.yetkili1;
cmmd.Parameters.AddWithValue("@gsm_num1", System.Data.SqlDbType.NVarChar).Value = fir.gsm1;
cmmd.Parameters.AddWithValue("@e_mail1", System.Data.SqlDbType.NVarChar).Value = fir.email1;
cmmd.Parameters.AddWithValue("@yetkili2", System.Data.SqlDbType.NVarChar).Value = fir.yetkili2;
cmmd.Parameters.AddWithValue("@gsm_num2", System.Data.SqlDbType.NVarChar).Value = fir.gsm2;
cmmd.Parameters.AddWithValue("@e_mail2", System.Data.SqlDbType.NVarChar).Value = fir.email2;
cmmd.Parameters.AddWithValue("@yetkili3", System.Data.SqlDbType.NVarChar).Value = fir.yetkili3;
cmmd.Parameters.AddWithValue("@gsm_num3", System.Data.SqlDbType.NVarChar).Value = fir.gsm3;
cmmd.Parameters.AddWithValue("@e_mail3", System.Data.SqlDbType.NVarChar).Value = fir.email3;
cmmd.Parameters.AddWithValue("@tlfn1", System.Data.SqlDbType.NVarChar).Value = fir.telefon1;
cmmd.Parameters.AddWithValue("@tlfn2", System.Data.SqlDbType.NVarChar).Value = fir.telefon2;
cmmd.Parameters.AddWithValue("@tlfn3", System.Data.SqlDbType.NVarChar).Value = fir.telefon3;
cmmd.Parameters.AddWithValue("@tlfn4", System.Data.SqlDbType.NVarChar).Value = fir.telefon4;
cmmd.Parameters.AddWithValue("@tlfn5", System.Data.SqlDbType.NVarChar).Value = fir.telefon5;
cmmd.ExecuteNonQuery();
}
and inside of my form's code i try to send parameters...
private void btnEkle_Click(object sender, EventArgs e)
{
try
{
if (txtFirma_adi.Text.Length != 0)
{
firma = new Firmalar();
h.InsertFirm(firma);
firma.firma_adi = txtFirma_adi.Text;
firma.yetkili1 = txtYetkili_adi.Text;
firma.gsm1 = txtGsm.Text;
firma.email1 = txtEmail.Text;
firma.yetkili2 = txtYetkili2.Text;
firma.gsm2 = txtGsm2.Text;
firma.email2 = txtEmail2.Text;
firma.yetkili3 = txtTetkili3.Text;
firma.email3 = txtEmail3.Text;
firma.gsm3 = txtGsm3.Text;
firma.telefon1 = msktlf1.Text;
firma.telefon2 = mskTlf2.Text;
firma.telefon3 = mskTlf3.Text;
firma.telefon4 = msktlf4.Text;
firma.telefon5 = mskTlf5.Text;
}
}
}
but the values dont go to my stored procedure..and it gives error sp_AddDatas expects parameter @firmanin_adi...so how i can send the values to my stored procedure..
vemedya.com
|
|
|
|
|
erdinc27 wrote: fir = new Firmalar();
Inside method InsertFirm(Firmalar fir) why are you again intializing Object? Use the received object itself.
|
|
|
|
|
hey Hiren..thanks for the reply..i changed as u said and now it adds first parameter but not second parameter??
so why it happens ?
vemedya.com
|
|
|
|
|
erdinc27 wrote: cmmd.Parameters.AddWithValue("@yetkili1", System.Data.SqlDbType.NVarChar).Value = fir.yetkili1;
You have used blockquoted way to add parameter with value.
But AddWithValue having format of AddWithValue(string Parametername,object value)
Your statement must generate compile time error I think,
Use Like
cmmd.Parameters.AddWithValue("@yetkili1",fir.yetkili1);
|
|
|
|
|
i tried as u suggested but still nothing..it gives the same error..what else can be reason for that error ?
vemedya.com
|
|
|
|
|
Okey As you have done all suggested things.
Now Add one thing and see the magic.
After intializing command object which is cmmd, Put a line like.
cmmd.CommandType = CommandType.StoredProcedure
|
|
|
|
|
again me..i added the code u said but still no magic
u have any other suggesstion ?
vemedya.com
|
|
|
|
|
I think now you might have some problem with InsertData() Method. Can you show us that method,So that we can have better Idea of a whole scenario.
|
|
|
|
|
here is my InsertData()method
public SqlCommand InsertData()
{
cmd = new SqlCommand("sp_AddDatas", con);
cmd.CommandType = CommandType.StoredProcedure;
return cmd;
}
and here is the sp_AddDatas
ALTER procedure [dbo].[sp_AddDatas]
(
@firmanin_adi nvarchar(70),
@yetkili1 nvarchar(30),
@gsm_num1 nvarchar(20),
@e_mail1 nvarchar(30),
@yetkili2 nvarchar(30),
@gsm_num2 nvarchar(20),
@e_mail2 nvarchar(30),
@yetkili3 nvarchar(30),
@gsm_num3 nvarchar(20),
@e_mail3 nvarchar(30),
@tlfn1 nvarchar(20),
@tlfn2 nvarchar(20),
@tlfn3 nvarchar(20),
@tlfn4 nvarchar(20),
@tlfn5 nvarchar(20)
)
as
BEGIN
Insert Into Firmalar(firma_adi,yetkili_ad1,Gsm1,email1,yetkili_ad2,Gsm2,Email2,yetkili_ad3,Gsm3,Email3,Telefon1,Telefon2,Telefon3,Telefon4,Telefon5)Values (@firmanin_adi, @yetkili1,@gsm_num1,@e_mail1,@yetkili2,@gsm_num2,@e_mail2, @yetkili3,@gsm_num3,@e_mail3,@tlfn1,@tlfn2,@tlfn3,@tlfn4,@tlfn5)
END
vemedya.com
|
|
|
|
|
Now I don't have any clue but see my answer I have given for THIS[^], and try to give parameters value like that way.
And also show us a full error statement to be further analyzing.
|
|
|
|
|
hi again..i tried to add values like in the link u sent
at that time it given error like "an SqlParameter with parameter name '@firmanin_adi' is not contained by this SqlParameterCollection" in my process layer
vemedya.com
|
|
|
|
|
hi friend it adds the datas now i changed something more after u offered..thanks for help
and one more question; is it too redicilous way to write a method which gets 15 parameters in my process layer and them to call it in my form inside and to assign the parameters here ?
vemedya.com
|
|
|
|
|
That's okey the way you are processing. But Why you have kept a seperate method for InsertData() You should Initialize command there itself. No need for extra garbage. Wrap thing in a function that can be reusable or having something meaning.
You got your problem solved now, I have also found why you were getting error let me tell you if you have found the same or different.
In your event btnEkle_Click you have called h.InsertFirm(firma); directly without setting value for each property, and after finishing a whole operation you are assigning value, I think you're very much newbie with OOPS. try to read some books around will give you better idea on this.
|
|
|
|
|
yeah i am new about it really and try to learn it..i hope it doesnt take much time to improve my skills
thanks for your help again
vemedya.com
|
|
|
|
|
Hi all.
i need to get the ip of a network interface when it is disconnected. i try all the wmi and system.net options afaik, and they give me only when it is a connected network. of course it is a static IP.
thanks for your help.
|
|
|
|
|
Do you know the MAC address of the interface, or can you get it before the interface is disconnected and maintain that information? You might be able to invoke the arp -a command to access the arp cache before it expires to find the lsat known IP address associated with the device. Unfortunately, unless the arp table contains a static entry, the association will be removed within 2 to 10 minutes of going inactive.
Technically speaking, a disconnected device has no IP address, as the address is a network property and it is no longer part of the network. You may configure an interface for a static IP address, but the address is "owned" by the network, and if another device acquires that address while the device is disconnected, it will not operate. While it's disconnected (except for the brief lifetime of the arp cache) it doesn't exist, and no record of it is retained.
Will Rogers never met me.
|
|
|
|
|
Hey all thanks for the help in my last post =^)
Now i got this... seems to be the most simplest project for class but its driving me MAD haha.
All i need to do is read and write the data from a xml file to a listview and also include the names i type into my form.
This is what i was using to test the reading of a xml file, but im only getting the last line of the xml not the whole thing.
private void btnShowAll_Click(object sender, EventArgs e)
{
string sOut;
XmlDocument myDoc = new XmlDocument();
try
{
myDoc.Load("people.xml");
}
catch (Exception xmle)
{
MessageBox.Show(xmle.Message, "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
return;
}
txtBox.Text = "";
XmlNodeList nodeList = myDoc.DocumentElement.ChildNodes;
foreach (XmlNode PersonNode in nodeList)
{
foreach (XmlNode PersonTag in PersonNode.ChildNodes)
{
sOut = PersonTag.Name + "\t" + PersonTag.FirstChild.Value;
txtBox.Text = sOut;
}
}
}
|
|
|
|
|
Look at your loop:
foreach (XmlNode PersonTag in PersonNode.ChildNodes)
{
sOut = PersonTag.Name + "\t" + PersonTag.FirstChild.Value;
txtBox.Text = sOut;
}
You replace sOut and txtBox.Text values on each iteration so, when the loop ends you only have the last line... And you are not using any ListView control here, but a TextBox.
|
|
|
|
|
good response.
|
|
|
|
|
Hey _Erik_
thanks for you help on my last post =^)
Yeah this was just to test so i could see the xml, because i was having kinda the same problem with my list view so i just wanted to test it with something simple haha im a newbee cant you tell haha
I dont see it
sOut = PersonTag.Name + "\t" + PersonTag.FirstChild.Value + "\r\n";
Or this
sOut = PersonNode.Name + "\t" + PersonTag.FirstChild.Value + "\r\n";
|
|
|
|
|
I'm afraid none of them. Put a ListBox on your Form instead of a TextBox. This is basically a tree, so you will need a recursive method. This is a very basic sample:
void ShowAll(XmlNodeList nodes)
{
foreach (XmlNode node in nodes)
{
listBox.Add(string.Format("{0}\t{1}", node.Name, node.Value));
if (node.HasChildNodes)
ShowAll(node.ChildNodes);
}
}
Research something about recursion in the Internet if you cannot understand it.
|
|
|
|
|
Yes Erik pointed you what mistake you have done whatever, take a snap of this code. it include a little bit modification and display all lines of XML file
string sOut ="";
XmlDocument myDoc = new XmlDocument();
try
{
myDoc.Load(@"F:\Images.xml");
}
catch (Exception xmle)
{
MessageBox.Show(xmle.Message, "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
return;
}
XmlNodeList nodeList = myDoc.DocumentElement.ChildNodes;
foreach (XmlNode PersonNode in nodeList)
{
foreach (XmlNode PersonTag in PersonNode.ChildNodes)
{
sOut += PersonTag.Name + "\t" + PersonTag.FirstChild.Value +"\r\n";
txtBox.Text = sOut;
}
}
|
|
|
|
|
|
|