gpt4 book ai didi

c# - 使用存储过程和两个参数将新行插入到 SQL DB

转载 作者:行者123 更新时间:2023-11-29 21:53:02 25 4
gpt4 key购买 nike

我正在尝试使用带有两个参数的存储过程将新行插入到 SQL DB。我在第一列中使用 asp.net gridview 和复选框,以便您可以选择该行。对于选择的每一行,它将插入提供 ProjectID 的新行。 CorpID 随查询字符串一起提供。我注释掉了代码中的一些行,因为它给了我错误,而且我不知道如何执行其余的操作。我正在关注 YouTube 上的视频来完成此操作。在视频中,他们正在删除行,但我正在尝试插入行。如果有人想要视频的链接,那就是 this 。这是我的 DataAccessLayer 代码

public void AssociateCorpToProj(ProjectData pd) 
{
using(SqlConnection cn = new SqlConnection(_dbConnection))
{
using(SqlCommand cm = new SqlCommand("InsertProjectEntity", cn))
{
cm.CommandType = CommandType.StoredProcedure;
cn.Open();
cm.Parameters.AddWithValue("@ProjectID", pd.ProjectID);
cm.Parameters.AddWithValue("@CorpID", pd.CorpID);
cm.ExecuteNonQuery();
cn.Close();
}
}
}

这是我的代码,它从 DataAccessLayer 调用方法

protected void btnAssociateProjects_Click(object sender, EventArgs e) 
{
List < object > lstCorpProjAssoc = new List < object> ();
foreach(GridViewRow gvRow in gvProjects.Rows)
{
if (((CheckBox) gvRow.FindControl("cbInsert")).Checked)
{
string cID = ((Label) gvRow.FindControl("lblProjectID")).Text;
lstCorpProjAssoc.Add(cID);
}
}

foreach(ProjectData str in lstCorpProjAssoc)
{
DALSectionAccessData ap = new DALSectionAccessData(connString);
ProjectData pd = new ProjectData();
ap.AssociateCorpToProj(str);

}

}

如果有人认为他们需要存储过程的代码,就在这里。

INSERT INTO [dbo].[ProjectEntity]
([ProjectID],[CorpID])
VALUES
(@ProjectID, @CorpID)

另外,我正在使用的列表类

public class ProjectData
{
public string CompanyName { get; set; }
public int ProjectID { get; set; }
public int CorpID { get; set; }
}

如果您需要更多信息来回答问题,请告诉我。非常感谢任何帮助。

最佳答案

尝试运行此示例并逐步执行代码,这将帮助您理解 List<object> vs List<string> vs List<Class>

var listAllData = new List<object>();
for (var cnt = 0; cnt< 10; cnt++)
{
var lstProjectData = new List<object>() //you need to change yours to be new List<ProjectData>
{
string.Empty, //CompanyName
0, //ProjectID
0 //CorpId
};

lstProjectData [0] = string.Format("CompanyName {0}", cnt);
lstProjectData [1] = cnt+ 1;
lstProjectData [2] = cnt+ 2;
listAllData.Add(lstProjectData );

//from your List<ProjectData> you should be able to get at the variable
//as follows someVariable.CompanyName = ,
//someVariable.ProjectId = ,
//and someVariable = CorpId
}

关于c# - 使用存储过程和两个参数将新行插入到 SQL DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33443856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com