It could be that your DataGridView (it is a DGV, isn't it) is confused about which table from the DataSet to use(I know that there is only 1, but still).
Try
string sql = @"select * from SmsContent";
SqlConnection conn = new SqlConnection(ConnectionString);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "SmsContent");
DG_sms.DataSource = ds.Tables["SmsContent"];
instead.
Alternatively keep your existing code and set the
DataMember
property of your grid
DG_sms.DataMember = "SmsContent";