Я пытаюсь добавить EmpID
из приложения. NET в SQL Сервер. Приложение. NET имеет поле со списком имен сотрудников, но мне нужно вставить Empid
в таблицу. Мое приложение заканчивается добавлением NULL
, даже если значение поля со списком не равно.
private void Insert(object sender, EventArgs e)
{
try
{
string str = "";
if (checkedListBox2.CheckedItems.Count > 0)
{
for (int i = 0; i < checkedListBox2.CheckedItems.Count; i++)
{
if (str == "")
{
str = checkedListBox2.CheckedItems[i].ToString();
}
else
{
str += "," + checkedListBox2.CheckedItems[i].ToString();
// com.Parameters.AddWithValue("@skillid", str);
}
}
con.Open();
string query = "execute usp_Skill_level_update_dotnet @id,@skillid,@levelid";
SqlCommand com = new SqlCommand(query, con);
// com.Parameters.Clear();
com.Parameters.AddWithValue("@id", Associate.SelectedValue ?? (object)DBNull.Value);
com.Parameters.AddWithValue("@skillid", str);
com.Parameters.AddWithValue("@levelid", SkillLevel.SelectedValue);
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("done");
while (checkedListBox2.CheckedIndices.Count > 0)
{
checkedListBox2.SetItemChecked(checkedListBox2.CheckedIndices[0], false);
}
}
else
{
MessageBox.Show("Select at least one skill");
}
}
}
enter code here
alter PROCEDURE [dbo].[usp_Skill_Level_Update_Dotnet]
(
@Id int,
@SkillID nvarchar(100),
@LevelId int
)
as begin
Insert into Skill_Temp (id,SkillID,Levelid) values (@id,@Skillid,@levelid)
END
Выше описана процедура, которую я пытаюсь вызвать.