2013-06-01 2 views
0

내 드롭 다운 목록에서 선택한 항목을 통해 채워진 gridview가 있습니다. 아무 문제가 없습니다. 내 문제는 내가 다음과 같습니다 내 gridview에 3 개 항목을 추가 한 예를 들어, 내 데이터베이스로 내 gridview에 여러 행을 저장하기 위해 노력하고 있습니다 :gridview의 여러 행을 데이터베이스에 저장

Id | Name 
111 | Jack 
222 | Nicole 
333 | John 

을 지금을, 나는 ID 열에서 모든 것을하는 원하는 111, 222 및 333은 저장 버튼을 클릭하면 데이터베이스에 저장됩니다. 아래 코드를 시도하고 있지만 "system.data.sqlclient.sqlparameter에 'Values'및 확장 메서드 정의가 없습니다.라는 오류가 발생합니다. '값'형식의 첫 번째 인수를 받아들이는 ... "

SqlConnection con = new SqlConnection("Data Source=GATE-PC\\SQLEXPRESS;Initial Catalog=dbProfile;Integrated Security=True"); 
    SqlCommand cmdd = new SqlCommand("Insert into profile (Id, profile_id)VALUES(@id, @profile_id", con); 

    foreach (GridViewRow row in GridView1.Rows) 
    { 

     cmdd.Parameters.Add("@id", SqlDbType.Char, 20, "Id").Values = row.Cells["Id"].Value; 
    } 

    cmdd.CommandType = System.Data.CommandType.Text; 

    cmdd.Parameters.AddWithValue("@profile_id", txtID.Text); 
    con.Open(); 
    cmdd.ExecuteNonQuery(); 

내 테이블은 다음 번 내 DAT에 내있는 gridview에서 여러 행을 저장할 수 있어요 다음과 같아야합니다 기준 :

auto_id | Id | profile_id 
1  |111 | 101 
2  |222 | 101 
3  |333 | 101 

무엇이 누락 되었습니까? asp.net C# 함께 사용하고 있습니다.

답변

0

당신이 받고있는 오류는 Values이지만 실제로는 Value입니다. 따라서 이것을 시도하십시오

foreach (GridViewRow row in GridView1.Rows) 
{ 
    cmdd.Parameters.Add("@id", SqlDbType.Char, 20, "Id").Value = row.Cells[0].Value; 
} 

나는 이와 비슷한 요구 사항과 관련된 게시물을 작성했습니다. 또한 회신에 대한 그

Save DataSet Changes to Database in C#

+0

안녕 덕분에 볼 수, 당신의 코드를 시도했지만 그것은 나에게 row.Cells [ "ID"]에서 오류를 제공합니다. 그것은 "System.Web.UI.WebControls.TableCellCollection.this [int] '에 대한 가장 적합한 오버로드 된 메소드 일치가 잘못된 인수를가집니다"라고 말합니다. 다시 감사합니다 – user2388316

+0

@ user2388316 좋습니다, 그래서 당신은 "id"대신에'Id' 열의 인덱스를 전달해야합니다. 나는 내 대답을 업데이트했다. 나는'Id '가'Cells [0]'을 사용한 첫 번째 칼럼이라고 가정한다. – Sachin

관련 문제