Хорошо, поэтому я долгое время работал над этим, но еще не нашел решение. Я надеюсь, вы, люди, сможете мне помочь. У меня есть эта таблица базы данных с именем Кардиология:Вставка значений в выбранную проблему столбца
[CID] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
[Designation] TEXT NOT NULL,
[Qualification] NVARCHAR (50) NULL,
[Shift] NVARCHAR (50) NOT NULL,
[Appointment_Timings] NVARCHAR (50) NOT NULL,
[Ward_rounds] NVARCHAR (50) NULL,
[Slot1] NVARCHAR (50) NULL,
[Slot2] NVARCHAR (50) NULL,
[Slot3] NVARCHAR (50) NULL,
[Slot4] NVARCHAR (50) NULL,
[BreakTime] NVARCHAR (50) NULL,
[Slot5] NVARCHAR (50) NULL,
[Slot6] NVARCHAR (50) NULL,
[Slot7] NVARCHAR (50) NULL,
[Slot8] NVARCHAR (50) NULL,
CONSTRAINT [PK_Cardiology] PRIMARY KEY CLUSTERED ([CID] ASC)
Я хочу, чтобы ввести данные в несколько столбцов только мой запрос:
string str = "INSERT INTO Cardiology values (@Name,@Designation,@Qualification,@Shift,@Appointment_Timings)";
cmd = new SqlCommand(str, con);
cmd.Parameters.AddWithValue("@Name", TextBox1.Text);
cmd.Parameters.AddWithValue("@Designation", DropDownList1.Text);
cmd.Parameters.AddWithValue("@Qualification", TextBox3.Text);
cmd.Parameters.AddWithValue("@Shift", DropDownList2.Text);
cmd.Parameters.AddWithValue("@Appointment_Timings", DropDownList3.Text);
con.Open();
int flag = cmd.ExecuteNonQuery();
if (flag == 1) //On successful updation, shows a popup message
{
string msg = "Operation Successful";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload=function(){");
sb.Append("alert('");
sb.Append(msg);
sb.Append("')};");
sb.Append("</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
}
else if (flag == 0)
{
string msg1 = "Operation Unsuccessful";
System.Text.StringBuilder sb1 = new System.Text.StringBuilder();
sb1.Append("<script type = 'text/javascript'>");
sb1.Append("window.onload=function(){");
sb1.Append("alert('");
sb1.Append(msg1);
sb1.Append("')};");
sb1.Append("</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb1.ToString());
}
show1();
con.Close();
show1()
выглядит следующим образом:
public void show1()
{
da = new SqlDataAdapter("SELECT [CID], [Name], [Designation], [Qualification], [Shift], [Appointment_Timings] FROM [Cardiology]", con);
da.Fill(ds);
GridView1.DataBind();
}
Я связал DataTable через GridView, так что это не проблема. Я так не думаю. Когда я пытаюсь вставить это то, что сказано:
Название столбца или количество заданных значений не соответствует определению таблицы.
Любая помощь будет принята с благодарностью.
Вам нужно указать столбцы, в которые вы вводите данные, если вы не вставляете значения во все столбцы, например. 'INSERT INTO Cardiology (Columns) ЦЕННОСТИ (ЦЕНЫ)' – Saggio
Получил, спасибо! –
Кроме того, тип TEXT устарел. Вместо этого вы можете использовать nvarchar (max): http://msdn.microsoft.com/en-us/library/ms187993.aspx –