C# 如何使add按钮使用存储过程C向datagridview添加数据#

C# 如何使add按钮使用存储过程C向datagridview添加数据#,c#,winforms,stored-procedures,datagridview,C#,Winforms,Stored Procedures,Datagridview,这些是我的电话簿系统代码 private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { txtLastName.Text = DGPhonebook.CurrentRow.Cells["LastName"].Value.ToString(); txtFirstName.Text = DGPhonebook

这些是我的电话簿系统代码

private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            txtLastName.Text = DGPhonebook.CurrentRow.Cells["LastName"].Value.ToString();
            txtFirstName.Text = DGPhonebook.CurrentRow.Cells["FirstName"].Value.ToString();
            txtMiddleName.Text = DGPhonebook.CurrentRow.Cells["MiddleName"].Value.ToString();
            txtAge.Text = DGPhonebook.CurrentRow.Cells["Age"].Value.ToString();
            txtEmailAddress.Text = DGPhonebook.CurrentRow.Cells["EmailAddress"].Value.ToString();
            txtContactNo.Text = DGPhonebook.CurrentRow.Cells["ContactNo"].Value.ToString();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Person p = new Person
            {
                LastName = txtLastName.Text,
                FirstName = txtFirstName.Text,
                Middlename = txtMiddleName.Text,
                Age = Convert.ToInt32(txtAge.Text),
                EmailAddress = txtEmailAddress.Text,
                ContactNo = txtContactNo.Text
            };

            clsPerson.InsertPerson(p);
        }

        private void DGPhonebook_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            this.DGPhonebook.Rows.Add("1", "XX");
        }
这是我的密码

public static void InsertPerson(Person p)
        {
            PhonebookSQLDataContext db = new PhonebookSQLDataContext();
            db.usp_InsertPerson(p.LastName, p.FirstName, p.Middlename, p.Age, p.EmailAddress, p.ContactNo);
        }
        public static void UpdatePerson(Person p)
        {
            PhonebookSQLDataContext db = new PhonebookSQLDataContext();
            db.usp_UpdatePerson(p.Numbering, p.LastName, p.FirstName, p.Middlename, p.Age, p.EmailAddress, p.ContactNo);
        }
        public static void DeletePerson(Person p)
        {
            PhonebookSQLDataContext db = new PhonebookSQLDataContext();
            db.usp_DeletePerson(p.Numbering);
        }

        public static List<usp_RetrievePersonResult> RetrievePerson = new List<usp_RetrievePersonResult>();

            PhonebookSQLDataContext db = new PhonebookSQLDataContext();
        }
公共静态void InsertPerson(Person p)
{
PhonebookSQLDataContext db=新建PhonebookSQLDataContext();
db.usp_InsertPerson(p.LastName、p.FirstName、p.Middlename、p.Age、p.EmailAddress、p.ContactNo);
}
公共静态无效更新人员(p人)
{
PhonebookSQLDataContext db=新建PhonebookSQLDataContext();
db.usp_UpdatePerson(p.编号、p.姓氏、p.名字、p.中间名、p.年龄、p.电子邮件地址、p.联系人编号);
}
公众人士(p人)
{
PhonebookSQLDataContext db=新建PhonebookSQLDataContext();
db.usp_删除人(p.编号);
}
public static List RetrievePerson=new List();
PhonebookSQLDataContext db=新建PhonebookSQLDataContext();
}

通过单击“添加”按钮,使用存储过程向datagridview添加数据时遇到问题。请帮忙。。谢谢;)

它可能对你有用。我只举了一个名字为例

public void btn_1_Click(object sender, EventArgs e)
{
    Person p = new Person
    {
        nbame = txt1.Text.ToString()
    };
    InsertPerson(p);
    Loadgrid();
}
public void InsertPerson(Person p)
{
    DataClassesDataContext db = new DataClassesDataContext();
    Persontbl per = new Persontbl();
    per.name = p.nbame;
    db.Persontbls.InsertOnSubmit(per);
    db.SubmitChanges();
}
public void Loadgrid()
{
    DataClassesDataContext db = new DataClassesDataContext();
    var result = from res in db.Persontbls select name;
    GRD1.DataSource = result;
    GRD1.DataBind();
}
表:

 create table Persontbl(name varchar(20 )  primary key)

您是否收到任何错误?System.Data.dll中出现“System.Data.SqlClient.SqlException”类型的未处理异常。其他信息:字符串或二进制数据将被截断。声明已终止。您不应该关注MVP而不是MVC,因为这是Win Forms应用程序。回到您的错误,此错误表示您试图存储的数据长度超过数据库列可以接受的长度。IExecuteResult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())、lastName、firstName、middlename、age、emailAddress、contactNo);这是代码错误。MVC可以工作。我的同事和教授都做MVC