The SearchCursor function establishes a read-only cursor. Instead, you can use an UpdateCursor to update or delete rows. Your code would be something like:
import arcpy
rows = arcpy.UpdateCursor(fc)
fields = arcpy.ListFields(fc, "", "String")
for row in rows:
for field in fields:
if field.type != "Geometry":
if row.getValue(field.name) == '':
row.setValue(field.name, 'ondciqwn')
print "%s: Value = %s" % (field.name, row.getValue(field.name))
if row.isNull(field.name):
row.setValue(field.name, 'bvadvfe')
print "%s: Value = %s" % (field.name, row.getValue(field.name))
rows.updateRow(row)