Что ошибку на этом, когда я запускаю его, это дает мне эту ошибкуОбновление SQL Server из ASP.NET
Строка или двоичные данные будут усечены. Заявление было прекращено.
Это обновление с использованием идентификатора, который я беру из раскрывающегося списка.
Код:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string constr = "Data Source=YAZAN-PC ; initial Catalog=Elder ; user = sa ; pwd =****;";
SqlConnection con = new SqlConnection(constr);
string sql = "Select * from Users;";
con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
DataRow dr = dt.NewRow();
dr["ID"] = "0";
dt.Rows.InsertAt(dr, 0);
ddlID.DataSource = dt;
ddlID.DataValueField = "ID";
ddlID.DataBind();
}
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
string constr = "Data Source = YAZAN-PC ;" +
"initial catalog = Elder;" +
"user = sa ; pwd = ****;";
SqlConnection con = new SqlConnection(constr);
string Sql =
"Update Users Set [email protected] , [email protected] , [email protected] ,[email protected], [email protected] , [email protected], [email protected] where [email protected];";
con.Open();
SqlCommand cmd = new SqlCommand(Sql, con);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
cmd.Parameters.AddWithValue("@Gender", rblGender.SelectedValue);
cmd.Parameters.AddWithValue("@Email", txtEmail.Text);
cmd.Parameters.AddWithValue("@UserType", rblUserType.SelectedValue);
cmd.Parameters.AddWithValue("@BirthDate", txtBirthDate.Text);
cmd.Parameters.AddWithValue("@Password", txtPassword.Text);
cmd.Parameters.AddWithValue("@RePassword", txtRePassword.Text);
cmd.ExecuteNonQuery();
con.Close();
}
Это структура таблицы в SQL Server:
ID int not null primary key identity,
Name nvarchar(50) not null ,
Gender Char(1) not null ,
Email nvarchar(50) not null ,
UserType char(1) not null ,
BirthDate date not null ,
Password nvarchar(50) not null ,
RePassword nvarchar(50) not null
Это означает, что вы пытаетесь поместить больше данных в столбец, чем это займет (то есть, скажем, это VARCHAR (50), а длина данных - 100. Кстати, скажите, пожалуйста, что вы сделали ** не * * введите пароль для своей учетной записи sa в свой вопрос .... – Tim
Я добавляю код в sql, вы можете увидеть его plz @Tim –
Не используйте учетную запись sa на производственных серверах. Установите суперкомплексный/длинный пароль на эта учетная запись, сделайте альтернативные учетные записи для вашего приложения и администраторов, а затем заблокируйте пароль sa в сейфе и забудьте об этом. –