473,324 Members | 2,511 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,324 software developers and data experts.

2 Questions about ADO.net

Tom
1. I drag the sqlDataAdapter and sqlConnection from the
tool bar to the web form.

It creates automatically:

Expand|Select|Wrap|Line Numbers
  1. protected System.Data.SqlClient.SqlDataAdapter
  2. sqlDataAdapter1;
  3. protected System.Data.SqlClient.SqlCommand
  4. sqlSelectCommand1;
  5. protected System.Data.SqlClient.SqlCommand
  6. sqlInsertCommand1;
  7. protected System.Data.SqlClient.SqlCommand
  8. sqlUpdateCommand1;
  9. protected System.Data.SqlClient.SqlCommand
  10. sqlDeleteCommand1;
  11. protected System.Data.SqlClient.SqlConnection
  12. sqlConnection1;
  13.  
  14. override protected void OnInit(EventArgs e)
  15. {
  16. InitializeComponent();
  17. base.OnInit(e);
  18. }
  19.  
  20. private void InitializeComponent()
  21. {
  22. this.sqlDataAdapter1 = new
  23. System.Data.SqlClient.SqlDataAdapter();
  24. this.sqlSelectCommand1 = new
  25. System.Data.SqlClient.SqlCommand();
  26. this.sqlInsertCommand1 = new
  27. System.Data.SqlClient.SqlCommand();
  28. this.sqlUpdateCommand1 = new
  29. System.Data.SqlClient.SqlCommand();
  30. this.sqlDeleteCommand1 = new
  31. System.Data.SqlClient.SqlCommand();
  32. this.sqlConnection1 = new
  33. System.Data.SqlClient.SqlConnection();
  34. this.Button1.Click += new System.EventHandler
  35. (this.Button1_Click);
  36.  
  37. this.sqlDataAdapter1.DeleteCommand =
  38. this.sqlDeleteCommand1;
  39. this.sqlDataAdapter1.InsertCommand =
  40. this.sqlInsertCommand1;
  41. this.sqlDataAdapter1.SelectCommand =
  42. this.sqlSelectCommand1;
  43. this.sqlDataAdapter1.TableMappings.AddRange(new
  44. System.Data.Common.DataTableMapping[] {
  45. new System.Data.Common.DataTableMapping
  46. ("Table", "phonebook", new
  47. System.Data.Common.DataColumnMapping[] {
  48. new System.Data.Common.DataColumnMapping
  49. ("id", "id"),
  50. new System.Data.Common.DataColumnMapping
  51. ("name", "name"),
  52. new System.Data.Common.DataColumnMapping
  53. ("phone", "phone"),
  54.  
  55. this.sqlDataAdapter1.UpdateCommand =
  56. this.sqlUpdateCommand1;
  57.  
  58. this.sqlSelectCommand1.CommandText = "SELECT id,
  59. name, phone FROM dbo.phonebook";
  60. this.sqlSelectCommand1.Connection =
  61. this.sqlConnection1;
  62.  
  63. this.sqlInsertCommand1.CommandText = "INSERT INTO
  64. dbo.phonebook(name, phone) VALUES (@name, @phone); SELECT
  65. id, name, phone FROM dbo.phonebook WHERE (id =
  66. @@IDENTITY)";
  67.  
  68. this.sqlInsertCommand1.Connection =
  69. this.sqlConnection1;
  70. this.sqlInsertCommand1.Parameters.Add(new
  71. System.Data.SqlClient.SqlParameter("@name",
  72. System.Data.SqlDbType.NVarChar, 20, "name"));
  73. this.sqlInsertCommand1.Parameters.Add(new
  74. System.Data.SqlClient.SqlParameter("@phone",
  75. System.Data.SqlDbType.NVarChar, 10, "phone"));
  76.  
  77. this.sqlUpdateCommand1.CommandText = @"UPDATE
  78. dbo.phonebook SET name = @name, phone = @phone WHERE (id =
  79. @Original_id) AND (phone = @Original_phone); SELECT id,
  80. name, phone FROM dbo.phonebook WHERE (id = @id)";
  81.  
  82. this.sqlUpdateCommand1.Connection =
  83. this.sqlConnection1;
  84. this.sqlUpdateCommand1.Parameters.Add(new
  85. System.Data.SqlClient.SqlParameter("@name",
  86. System.Data.SqlDbType.NVarChar, 20, "name"));
  87. this.sqlUpdateCommand1.Parameters.Add(new
  88. System.Data.SqlClient.SqlParameter("@phone",
  89. System.Data.SqlDbType.NVarChar, 10, "phone"));
  90.  
  91. this.sqlUpdateCommand1.Parameters.Add(new
  92. System.Data.SqlClient.SqlParameter("@Original_id",
  93. System.Data.SqlDbType.Int, 4,
  94. System.Data.ParameterDirection.Input, false, ((System.Byte)
  95. (0)), ((System.Byte)(0)), "id",
  96. System.Data.DataRowVersion.Original, null));
  97.  
  98. this.sqlUpdateCommand1.Parameters.Add(new
  99. System.Data.SqlClient.SqlParameter("@Original_phone",
  100. System.Data.SqlDbType.NVarChar, 160,
  101. System.Data.ParameterDirection.Input, false, ((System.Byte)
  102. (0)), ((System.Byte)(0)), "phone",
  103. System.Data.DataRowVersion.Original, null));
  104. this.sqlUpdateCommand1.Parameters.Add(new
  105. System.Data.SqlClient.SqlParameter("@Original_name",
  106. System.Data.SqlDbType.NVarChar, 1000,
  107. System.Data.ParameterDirection.Input, false, ((System.Byte)
  108. (0)), ((System.Byte)(0)), "name",
  109. System.Data.DataRowVersion.Original, null));
  110. this.sqlUpdateCommand1.Parameters.Add(new
  111. System.Data.SqlClient.SqlParameter("@id",
  112. System.Data.SqlDbType.Int, 4, "id"));
  113.  
  114.  
  115. this.sqlDeleteCommand1.CommandText = "DELETE FROM
  116. dbo.phonebook WHERE (id = @Original_id) AND (phone =
  117. @Original_phone)";
  118. this.sqlDeleteCommand1.Connection =
  119. this.sqlConnection1;
  120. this.sqlDeleteCommand1.Parameters.Add(new
  121. System.Data.SqlClient.SqlParameter("@Original_id",
  122. System.Data.SqlDbType.Int, 4,
  123. System.Data.ParameterDirection.Input, false, ((System.Byte)
  124. (0)), ((System.Byte)(0)), "id",
  125. System.Data.DataRowVersion.Original, null));
  126. this.sqlDeleteCommand1.Parameters.Add(new
  127. System.Data.SqlClient.SqlParameter("@Original_phone",
  128. System.Data.SqlDbType.NVarChar, 160,
  129. System.Data.ParameterDirection.Input, false, ((System.Byte)
  130. (0)), ((System.Byte)(0)), "phone",
  131. System.Data.DataRowVersion.Original, null));
  132. this.sqlDeleteCommand1.Parameters.Add(new
  133. System.Data.SqlClient.SqlParameter("@Original_name",
  134. System.Data.SqlDbType.NVarChar, 1000,
  135. System.Data.ParameterDirection.Input, false, ((System.Byte)
  136. (0)), ((System.Byte)(0)), "name",
  137. System.Data.DataRowVersion.Original, null));
  138.  
  139. this.sqlConnection1.ConnectionString = "data
  140. source=SERVER;initial catalog=phonedb;persist security
  141. info=False;user id=phoneuser;password:useruser;workstation
  142. id=SERVER;packet size=4096";
  143. this.Load += new System.EventHandler
  144. (this.Page_Load);
  145. }
  146.  
  147. private void Button1_Click(object sender, System.EventArgs
  148. e)
  149. {
  150. }
  151.  
Although insert, delete, update and select sql statements
were done automatically, however, how can i make use of
them? i.e. how can I call them to use under Button1_Click?

2. You can see the this.sqlConnection1.ConnectionString
= "data source=SERVER;initial catalog=phonedb;persist
security info=False;user
id=phoneuser;password:useruser;workstation
id=SERVER;packet size=4096";

It has to include the login id and password in order to
make such connection. I guess it is not secure. How should
I write a secure dbconnection code? Am I better to write a
new DBConnect class?

If I use my DBConnect class, does the above auto-generated
code not useful?

Thanks for advice.

Nov 15 '05 #1
2 1491
Tom,

In order to call the data adatper in your click event handler, you can
just call to sqlDataAdapter1. It's a member of your class, like any other
member. So, if you wanted to fill a dataset with the results from the
query, you would do:

// Fill the data set.
DataSet pobjDataSet = new DataSet();
sqlDataAdapter1.Fill(pobjDataSet);

As for creating a new connection class, that's not necessary. You have
one of two options here. The first is to store the connection information
in another location which is more secure. The second is to use trusted
connections (windows security) and not have to worry about logging in at
all.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Tom" <ke*****@yahoo.com> wrote in message
news:09****************************@phx.gbl...
1. I drag the sqlDataAdapter and sqlConnection from the
tool bar to the web form.

It creates automatically:

Expand|Select|Wrap|Line Numbers
  1.  protected System.Data.SqlClient.SqlDataAdapter
  2.  sqlDataAdapter1;
  3.  protected System.Data.SqlClient.SqlCommand
  4.  sqlSelectCommand1;
  5.  protected System.Data.SqlClient.SqlCommand
  6.  sqlInsertCommand1;
  7.  protected System.Data.SqlClient.SqlCommand
  8.  sqlUpdateCommand1;
  9.  protected System.Data.SqlClient.SqlCommand
  10.  sqlDeleteCommand1;
  11.  protected System.Data.SqlClient.SqlConnection
  12.  sqlConnection1;
  13.  override protected void OnInit(EventArgs e)
  14.  {
  15.  InitializeComponent();
  16.  base.OnInit(e);
  17.  }
  18.  private void InitializeComponent()
  19.  {
  20.  this.sqlDataAdapter1 = new
  21.  System.Data.SqlClient.SqlDataAdapter();
  22.  this.sqlSelectCommand1 = new
  23.  System.Data.SqlClient.SqlCommand();
  24.  this.sqlInsertCommand1 = new
  25.  System.Data.SqlClient.SqlCommand();
  26.  this.sqlUpdateCommand1 = new
  27.  System.Data.SqlClient.SqlCommand();
  28.  this.sqlDeleteCommand1 = new
  29.  System.Data.SqlClient.SqlCommand();
  30.  this.sqlConnection1 = new
  31.  System.Data.SqlClient.SqlConnection();
  32.  this.Button1.Click += new System.EventHandler
  33.  (this.Button1_Click);
  34.  this.sqlDataAdapter1.DeleteCommand =
  35.  this.sqlDeleteCommand1;
  36.  this.sqlDataAdapter1.InsertCommand =
  37.  this.sqlInsertCommand1;
  38.  this.sqlDataAdapter1.SelectCommand =
  39.  this.sqlSelectCommand1;
  40.  this.sqlDataAdapter1.TableMappings.AddRange(new
  41.  System.Data.Common.DataTableMapping[] {
  42.  new System.Data.Common.DataTableMapping
  43.  ("Table", "phonebook", new
  44.  System.Data.Common.DataColumnMapping[] {
  45.  new System.Data.Common.DataColumnMapping
  46.  ("id", "id"),
  47.          new System.Data.Common.DataColumnMapping
  48.  ("name", "name"),
  49.          new System.Data.Common.DataColumnMapping
  50.  ("phone", "phone"),
  51.  this.sqlDataAdapter1.UpdateCommand =
  52.  this.sqlUpdateCommand1;
  53.  this.sqlSelectCommand1.CommandText = "SELECT id,
  54.  name, phone FROM dbo.phonebook";
  55.  this.sqlSelectCommand1.Connection =
  56.  this.sqlConnection1;
  57.  this.sqlInsertCommand1.CommandText = "INSERT INTO
  58.  dbo.phonebook(name, phone) VALUES (@name, @phone); SELECT
  59.  id, name, phone FROM dbo.phonebook WHERE (id =
  60.  @@IDENTITY)";
  61.  this.sqlInsertCommand1.Connection =
  62.  this.sqlConnection1;
  63.  this.sqlInsertCommand1.Parameters.Add(new
  64.  System.Data.SqlClient.SqlParameter("@name",
  65.  System.Data.SqlDbType.NVarChar, 20, "name"));
  66.  this.sqlInsertCommand1.Parameters.Add(new
  67.  System.Data.SqlClient.SqlParameter("@phone",
  68.  System.Data.SqlDbType.NVarChar, 10, "phone"));
  69.  this.sqlUpdateCommand1.CommandText = @"UPDATE
  70.  dbo.phonebook SET name = @name, phone = @phone WHERE (id =
  71.  @Original_id) AND (phone = @Original_phone); SELECT id,
  72.  name, phone FROM dbo.phonebook WHERE (id = @id)";
  73.  this.sqlUpdateCommand1.Connection =
  74.  this.sqlConnection1;
  75.  this.sqlUpdateCommand1.Parameters.Add(new
  76.  System.Data.SqlClient.SqlParameter("@name",
  77.  System.Data.SqlDbType.NVarChar, 20, "name"));
  78.  this.sqlUpdateCommand1.Parameters.Add(new
  79.  System.Data.SqlClient.SqlParameter("@phone",
  80.  System.Data.SqlDbType.NVarChar, 10, "phone"));
  81.  this.sqlUpdateCommand1.Parameters.Add(new
  82.  System.Data.SqlClient.SqlParameter("@Original_id",
  83.  System.Data.SqlDbType.Int, 4,
  84.  System.Data.ParameterDirection.Input, false, ((System.Byte)
  85.  (0)), ((System.Byte)(0)), "id",
  86.  System.Data.DataRowVersion.Original, null));
  87.  this.sqlUpdateCommand1.Parameters.Add(new
  88.  System.Data.SqlClient.SqlParameter("@Original_phone",
  89.  System.Data.SqlDbType.NVarChar, 160,
  90.  System.Data.ParameterDirection.Input, false, ((System.Byte)
  91.  (0)), ((System.Byte)(0)), "phone",
  92.  System.Data.DataRowVersion.Original, null));
  93.  this.sqlUpdateCommand1.Parameters.Add(new
  94.  System.Data.SqlClient.SqlParameter("@Original_name",
  95.  System.Data.SqlDbType.NVarChar, 1000,
  96.  System.Data.ParameterDirection.Input, false, ((System.Byte)
  97.  (0)), ((System.Byte)(0)), "name",
  98.  System.Data.DataRowVersion.Original, null));
  99.  this.sqlUpdateCommand1.Parameters.Add(new
  100.  System.Data.SqlClient.SqlParameter("@id",
  101.  System.Data.SqlDbType.Int, 4, "id"));
  102.  this.sqlDeleteCommand1.CommandText = "DELETE FROM
  103.  dbo.phonebook WHERE (id = @Original_id) AND (phone =
  104.  @Original_phone)";
  105.  this.sqlDeleteCommand1.Connection =
  106.  this.sqlConnection1;
  107.  this.sqlDeleteCommand1.Parameters.Add(new
  108.  System.Data.SqlClient.SqlParameter("@Original_id",
  109.  System.Data.SqlDbType.Int, 4,
  110.  System.Data.ParameterDirection.Input, false, ((System.Byte)
  111.  (0)), ((System.Byte)(0)), "id",
  112.  System.Data.DataRowVersion.Original, null));
  113.  this.sqlDeleteCommand1.Parameters.Add(new
  114.  System.Data.SqlClient.SqlParameter("@Original_phone",
  115.  System.Data.SqlDbType.NVarChar, 160,
  116.  System.Data.ParameterDirection.Input, false, ((System.Byte)
  117.  (0)), ((System.Byte)(0)), "phone",
  118.  System.Data.DataRowVersion.Original, null));
  119.  this.sqlDeleteCommand1.Parameters.Add(new
  120.  System.Data.SqlClient.SqlParameter("@Original_name",
  121.  System.Data.SqlDbType.NVarChar, 1000,
  122.  System.Data.ParameterDirection.Input, false, ((System.Byte)
  123.  (0)), ((System.Byte)(0)), "name",
  124.  System.Data.DataRowVersion.Original, null));
  125.  this.sqlConnection1.ConnectionString = "data
  126.  source=SERVER;initial catalog=phonedb;persist security
  127.  info=False;user id=phoneuser;password:useruser;workstation
  128.  id=SERVER;packet size=4096";
  129.  this.Load += new System.EventHandler
  130.  (this.Page_Load);
  131.  }
  132.  private void Button1_Click(object sender, System.EventArgs
  133.  e)
  134.  {
  135.  }
  136.  

Although insert, delete, update and select sql statements
were done automatically, however, how can i make use of
them? i.e. how can I call them to use under Button1_Click?

2. You can see the this.sqlConnection1.ConnectionString
= "data source=SERVER;initial catalog=phonedb;persist
security info=False;user
id=phoneuser;password:useruser;workstation
id=SERVER;packet size=4096";

It has to include the login id and password in order to
make such connection. I guess it is not secure. How should
I write a secure dbconnection code? Am I better to write a
new DBConnect class?

If I use my DBConnect class, does the above auto-generated
code not useful?

Thanks for advice.

Nov 15 '05 #2
Tom
Dear Sir,

Thank you for your kind help. Since I am a newbie and just
read some ASP.net and C# books. I am not still familiar
with it.

Here are my questions:

1. Do I write the code like that?

private void Button1_Click(object sender, System.EventArgs
e)
{
DataSet pobjDataSet = new DataSet();
sqlDataAdapter1.Fill(pobjDataSet);
}

But, how can I call the insert command? I need to input
the textbox to the DB.

2. The first is to store the connection information in
another location which is more secure.

Do you mean store it in the registry? How can I call it
from the code after I save it in registry?

The second is to use trusted connections (windows
security) and not have to worry about logging in at
all.

If I use windows security (I guess it is better), how
should I write the following?

this.sqlConnection1.ConnectionString = "data
source=SERVER;initial catalog=phonedb;persist security
info=False;user id=phoneuser;password:useruser;workstation
id=SERVER;packet size=4096";

Regards

Tom

-----Original Message-----
Tom,

In order to call the data adatper in your click event handler, you canjust call to sqlDataAdapter1. It's a member of your class, like any othermember. So, if you wanted to fill a dataset with the results from thequery, you would do:

// Fill the data set.
DataSet pobjDataSet = new DataSet();
sqlDataAdapter1.Fill(pobjDataSet);

As for creating a new connection class, that's not necessary. You haveone of two options here. The first is to store the connection informationin another location which is more secure. The second is to use trustedconnections (windows security) and not have to worry about logging in atall.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com


Nov 15 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: softwareengineer2006 | last post by:
All Interview Questions And Answers 10000 Interview Questions And Answers(C,C++,JAVA,DOTNET,Oracle,SAP) I have listed over 10000 interview questions asked in interview/placement test papers for...
0
by: connectrajesh | last post by:
INTERVIEWINFO.NET http://www.interviewinfo.net FREE WEB SITE AND SERVICE FOR JOB SEEKERS /FRESH GRADUATES NO ADVERTISEMENT
2
by: freepdfforjobs | last post by:
Full eBook with 4000 C#, JAVA,.NET and SQL Server Interview questions http://www.questpond.com/SampleInterviewQuestionBook.zip Download the JAVA , .NET and SQL Server interview sheet and rate...
4
by: Drew | last post by:
I posted this to the asp.db group, but it doesn't look like there is much activity on there, also I noticed that there are a bunch of posts on here pertaining to database and asp. Sorry for...
8
by: Krypto | last post by:
Hi, I have used Python for a couple of projects last year and I found it extremely useful. I could write two middle size projects in 2-3 months (part time). Right now I am a bit rusty and trying...
0
by: ramu | last post by:
C# Interview Questions and Answers8 http://allinterviewsbooks.blogspot.com/2008/07/c-interview-questions-and-answers8.html C# Interview Questions and Answers7...
1
by: ramu | last post by:
C# Interview Questions and Answers8 http://allinterviewsbooks.blogspot.com/2008/07/c-interview-questions-and-answers8.html C# Interview Questions and Answers7...
0
by: ramu | last post by:
C# Interview Questions and Answers8 http://allinterviewsbooks.blogspot.com/2008/07/c-interview-questions-and-answers8.html C# Interview Questions and Answers7...
0
by: reema | last post by:
EJB Interview Questions http://interviewdoor.com/technical/EJB-Interview-Questions.htm CSS Interview Questions http://interviewdoor.com/technical/CSS-Interview-Questions.htm C Interview Questions...
0
by: reema | last post by:
EJB Interview Questions http://interviewdoor.com/technical/EJB-Interview-Questions.htm CSS Interview Questions http://interviewdoor.com/technical/CSS-Interview-Questions.htm C Interview Questions...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.